Release van PascalABC.NET 3.8 ontwikkelomgeving

De release van het programmeersysteem PascalABC.NET 3.8 is beschikbaar en biedt een editie van de programmeertaal Pascal met ondersteuning voor het genereren van code voor het .NET-platform, de mogelijkheid om .NET-bibliotheken te gebruiken en extra functies zoals generieke klassen, interfaces , overbelasting van operators, λ-expressies, uitzonderingen, garbagecollection, uitbreidingsmethoden, naamloze klassen en autoklassen. Het project richt zich vooral op toepassingen in onderwijs en onderzoek. Het pakket bevat ook een ontwikkelomgeving met codehints, automatische opmaak, een debugger, een formulierontwerper en codevoorbeelden voor beginners. De projectcode wordt gedistribueerd onder de LGPLv3-licentie. Kan worden gebouwd op Linux (Mono-gebaseerd) en Windows.

Wijzigingen in de nieuwe release:

  • Ondersteuning toegevoegd voor het segmenteren van multidimensionale arrays begint var m := MatrByRow(||1,2,3,4|,|5,6,7,8|,|9,10,11,12||); Println(m[:,:]); // [[1,2,3,4],[5,6,7,8],[9,10,11,12]] Println(m[::1,::1]); // [[1,2,3,4],[5,6,7,8],[9,10,11,12]] Println(m[1:3,1:4]); // [[6,7,8],[10,11,12]] Println(m[::2,::3]); // [[1,4],[9,12]] Println(m[::-2,::-1]); // [[12,11,10,9],[4,3,2,1]] Println(m[^2::-1,^2::-1]); // [[7,6,5],[3,2,1]] Println(m[:^1,:^1]); // [[1,2,3],[5,6,7]] Println(m[1,:]); // [5,6,7,8] Println(m[^1,:]); // [9,10,11,12] Println(m[:,^1]); // [4,8,12] einde.
  • Lambda-expressies toegevoegd met uitpakparameters die tupels of reeksen zijn. Het is nu mogelijk om elementen van tupels rechtstreeks in lambda-parameters een naam te geven. Om een ​​tupelparameter t uit te pakken in variabelen x en y, gebruik je de notatie \\(x,y). Dit is één parameter, in tegenstelling tot de notatie (x,y), die twee parameters vertegenwoordigt: begin var s := Seq(('Umnova',16),('Ivanov',23), ('Popova',17 ),('Kozlov', 24)); Println('Volwassenen:'); s.Where(\\(naam,leeftijd) -> leeftijd >= 18).Println; Println('Sorteer op achternaam:'); s.OrderBy(\\(naam,leeftijd) -> naam).Println; einde.
  • De constructie “a als array van T” is toegestaan, wat voorheen op grammaticaal niveau verboden was. begin var ob: object := nieuw geheel getal[2,3]; var a := ob als array [,] van geheel getal; einde.

Bron: opennet.ru

Voeg een reactie