Utgivning av utvecklingsmiljön PascalABC.NET 3.8

Utgivningen av programmeringssystemet PascalABC.NET 3.8 är tillgängligt och erbjuder en utgåva av programmeringsspråket Pascal med stöd för kodgenerering för .NET-plattformen, möjligheten att använda .NET-bibliotek och ytterligare funktioner som generiska klasser, gränssnitt , operatörsöverbelastning, λ-uttryck, undantag, sophämtning, förlängningsmetoder, namnlösa klasser och autoklasser. Projektet är främst inriktat på tillämpningar inom utbildning och vetenskaplig forskning. Paketet innehåller också en utvecklingsmiljö med kodtips, autoformatering, en debugger, en formdesigner och kodexempel för nybörjare. Projektkoden distribueras under LGPLv3-licensen. Kan byggas på Linux (monobaserat) och Windows.

Ändringar i den nya versionen:

  • Tillagt stöd för att skära upp flerdimensionella arrayer start 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] slut.
  • Lambda-uttryck med uppackningsparametrar som är tupler eller sekvenser har lagts till. Det är nu möjligt att namnge element av tuplar direkt i lambdaparametrar. För att packa upp en tuppelparameter t i variablerna x och y, använd notationen \\(x,y). Detta är en parameter, i motsats till notationen (x,y), som representerar två parametrar: begin var s := Seq(('Umnova',16),('Ivanov',23), ('Popova',17 ),('Kozlov', 24)); Println('Vuxna:'); s.Where(\\(namn,ålder) -> ålder >= 18).Println; Println('Sortera efter efternamn:'); s.OrderBy(\\(namn,ålder) -> namn).Println; slutet.
  • Konstruktionen "a som array av T" är tillåten, vilket tidigare var förbjudet på grammatiknivå. begin var ob: objekt := nytt heltal[2,3]; var a := ob som array [,] av heltal; slutet.

Källa: opennet.ru

Lägg en kommentar