Verëffentlechung vum PascalABC.NET 3.8 Entwécklungsëmfeld

D'Verëffentlechung vum PascalABC.NET 3.8 Programméierungssystem ass verfügbar, bitt eng Editioun vun der Pascal Programméiersprooch mat Ënnerstëtzung fir Code Generatioun fir d'.NET Plattform, d'Fäegkeet fir .NET Bibliothéiken an zousätzlech Funktiounen wéi generesch Klassen, Interfaces ze benotzen , Bedreiwer Iwwerlaaschtung, λ-Ausdrock, Ausnahmen, Dreckskëscht, Extensiounsmethoden, Nummlos Klassen an Autoklassen. De Projet konzentréiert sech haaptsächlech op Uwendungen an der Educatioun a Fuerschung. De Package enthält och en Entwécklungsëmfeld mat Code Hiweiser, Autoformatéierung, en Debugger, e Form Designer, a Code Echantillon fir Ufänger. De Projet Code gëtt ënner der LGPLv3 Lizenz verdeelt. Kann op Linux (Mono-baséiert) a Windows gebaut ginn.

Ännerungen an der neier Verëffentlechung:

  • Добавлена поддержка срезов многомерных массивов 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.

Source: opennet.ru

Setzt e Commentaire