PascalABC.NET arendustööriista väljaanne 3.8

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

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster