PascalABC.NET 3.8 programmeerimissüsteemi uus versioon on nüüd saadaval, pakkudes Pascal programmeerimiskeele redaktsiooni, millel on .NET platvormi koodigeneraatori tugi, .NET raamatukogude kasutamisvõime, samuti täiendavad funktsioonid nagu genereeritud klassid, liidesed, operatsioonide ülekoormamine, λ-avaldised, erandid, prügisorteerimine, laiendamise meetodid, nimetud klassid ja automaatsed klassid. Projekt keskendub peamiselt hariduse ja teadusuuringute valdkondadele. Pakett sisaldab ka arenduskeskkonda, millel on koodipakkumised, auto-formatimine, tõrkeotsing, vormide disainer ja algajatele mõeldud koodinäidised. Projekti kood jagatakse LGPLv3 litsentsi alusel. Saadaval on koostamine Linuxis (Mono baasil) ja Windowsis.
Uue väljaande muudatused:
- Lisaud toetus mitmehäälsete massiivide viiludele 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] end.
- Lisatud on lambdaväljendid, mille parameetrid on tuvastatud, mis on tupel või järjestus. Nüüd on võimalik anda nimesid tuplite elementidele otse lambda parameetrites. Parameetri tupel t lahti pakkimiseks muutuja x ja y sees kasutatakse süntaksit \\(x,y). See on üks parameeter, erinevalt süntaksist (x,y), mis esindab kahte parameetrit: begin var s := Seq((‘Umnova’,16),(‘Ivanov’,23), (‘Popova’,17),(‘Kozlov’,24)); Println(‘Täiskasvanud:’); s.Where(\\(name,age) -> age >= 18).Println; Println(‘Sortimine perekonnanime järgi:’); s.OrderBy(\\(name,age) -> name).Println; end.
- Nüüd on lubatud konstruktsioon „a as array of T“, mis varem keelati grammatika tasandil. begin var ob: object := new integer[2,3]; var a := ob as array [,] of integer; end.
Allikas: opennet.ru
