Frigivelse af PascalABC.NET 3.8 udviklingsmiljø

Udgivelsen af ​​PascalABC.NET 3.8-programmeringssystemet er tilgængelig, der tilbyder en udgave af Pascal-programmeringssproget med understøttelse af kodegenerering til .NET-platformen, muligheden for at bruge .NET-biblioteker og yderligere funktioner såsom generiske klasser, grænseflader , operatøroverbelastning, λ-udtryk, undtagelser, affaldsindsamling, udvidelsesmetoder, navnløse klasser og autoklasser. Projektet er hovedsageligt fokuseret på anvendelser inden for uddannelse og videnskabelig forskning. Pakken indeholder også et udviklingsmiljø med kodetip, autoformatering, en debugger, en formulardesigner og kodeeksempler for begyndere. Projektkoden distribueres under LGPLv3-licensen. Kan bygges på Linux (mono-baseret) og Windows.

Ændringer i den nye udgivelse:

  • Tilføjet understøttelse til udskæring af flerdimensionelle arrays begin 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] ende.
  • Tilføjet lambda-udtryk med udpakningsparametre, der er tupler eller sekvenser. Det er nu muligt at navngive elementer af tupler direkte i lambda-parametre. For at udpakke en tupelparameter t i variablene x og y, skal du bruge notationen \\(x,y). Dette er én parameter, i modsætning til notationen (x,y), som repræsenterer to parametre: begin var s := Seq(('Umnova',16),('Ivanov',23), ('Popova',17 ),('Kozlov', 24)); Println('Voksne:'); s.Where(\\(navn,alder) -> alder >= 18).Println; Println('Sortér efter efternavn:'); s.OrderBy(\\(navn,alder) -> navn).Println; ende.
  • Konstruktionen "a som matrix af T" er tilladt, hvilket tidligere var forbudt på grammatikniveau. start var ob: objekt := nyt heltal[2,3]; var a := ob som array [,] af heltal; ende.

Kilde: opennet.ru

Tilføj en kommentar