De Programméierungssystem PascalABC.NET 3.8 ass elo verfügbar. Et bitt eng Editioun vun der Programméiersprooch Pascal mat Ënnerstëtzung fir Codegeneratioun fir d'.NET Plattform, der Méiglechkeet .NET Bibliothéiken ze benotzen, an zousätzlech Funktiounen wéi generesch Klassen, Interfaces, Operator Iwwerlaaschtung, λ Ausdréck, Ausnamen, Garbage Collection, Erweiderungsmethoden, anonym Klassen an Autoklassen. De Projet riicht sech haaptsächlech op Ausbildung a Fuerschung. De Pak enthält och eng Entwécklungsumgebung mat Code Hiweiser, Autoformatéierung, engem Debugger, engem Formulardesigner a Code Beispiller fir Ufänger. De Projetcode gëtt ënner der LGPLv3 Lizenz verdeelt. Bauen ass méiglech an Linux (baséiert op Mono) an Windows.
Ännerungen an der neier Verëffentlechung:
- Zousätzlech Ënnerstëtzung fir multidimensional Arrays ze schneiden beginn 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] Enn.
- Zousätzlech Lambda Ausdréck mat Auspackungsparameter déi Tupels oder Sequenzen sinn. Et ass elo méiglech Elementer vun Tuples direkt a Lambda Parameteren ze nennen. Fir en Tupelparameter t an d'Variabelen x an y auszepaken, benotzt d'Notatioun \\(x,y). Dëst ass ee Parameter, am Géigesaz zu der Notatioun (x,y), déi zwee Parameter duerstellt: begin var s := Seq(('Umnova',16),('Ivanov',23), ('Popova',17) ),('Kozlov', 24)); Println('Erwuessener:'); s.Wou(\\(Numm,Alter) -> Alter >= 18).Println; Println('Sortéiert nom Familljenumm:'); s.OrderBy(\\(Numm,Alter) -> Numm).Println; Enn.
- D'Konstruktioun "a als Array vun T" ass erlaabt, wat virdru um Grammatikniveau verbueden war. begin var ob: object := nei ganz Zuel[2,3]; var a := ob als Array [,] vun ganzer; Enn.
Source: opennet.ru
