Lëshimi i mjedisit të zhvillimit PascalABC.NET 3.8

Lëshimi i sistemit të programimit PascalABC.NET 3.8 është i disponueshëm, duke ofruar një botim të gjuhës programuese Pascal me mbështetje për gjenerimin e kodit për platformën .NET, aftësinë për të përdorur bibliotekat .NET dhe veçori shtesë si klasat gjenerike, ndërfaqet , mbingarkesa e operatorit, shprehjet λ, përjashtimet, grumbullimi i mbeturinave, metodat e zgjerimit, klasat pa emër dhe autoklasat. Projekti është fokusuar kryesisht në aplikimet në arsim dhe kërkime. Paketa përfshin gjithashtu një mjedis zhvillimi me sugjerime kodi, formatim automatik, një korrigjues, një projektues formash dhe mostra kodi për fillestarët. Kodi i projektit shpërndahet nën licencën LGPLv3. Mund të ndërtohet në Linux (i bazuar në mono) dhe Windows.

Ndryshimet në versionin e ri:

  • Добавлена поддержка срезов многомерных массивов 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.
  • Добавлены лямбда-выражения с распаковкой параметров, являющихся кортежами или последовательностями. Появилась возможность давать имена элементам кортежей прямо в параметрах лямбды. Чтобы распаковать параметр-кортеж t в переменные x и y, используется запись \\(x,y). Это один параметр в отличие от записи (x,y), представляющей два параметра: begin var s := Seq((‘Умнова’,16),(‘Иванов’,23), (‘Попова’,17),(‘Козлов’,24)); Println(‘Совершеннолетние:’); s.Where(\\(name,age) -> age >= 18).Println; Println(‘Сортировка по фамилии:’); s.OrderBy(\\(name,age) -> name).Println; end.
  • Разрешена конструкция «a as array of T», которая ранее была запрещена на уровне грамматики. begin var ob: object := new integer[2,3]; var a := ob as array [,] of integer; end.

Burimi: opennet.ru

Shto një koment