Hoʻokuʻu ʻia o PascalABC.NET 3.8 kaiapuni hoʻomohala

Loaʻa ka hoʻokuʻu ʻana o ka ʻōnaehana polokalamu PascalABC.NET 3.8, e hāʻawi ana i kahi paʻi o ka ʻōlelo hoʻolālā Pascal me ke kākoʻo no ka hana code no ka .NET platform, ka hiki ke hoʻohana i nā hale waihona puke .NET a me nā hiʻohiʻona hou e like me nā papa generic, interfaces. , hoʻonui i ka mea hoʻohana, λ-expressions, ʻokoʻa, hōʻiliʻili ʻōpala, nā ʻano hoʻonui, nā papa inoa ʻole a me nā papa auto. ʻO ka papahana e nānā nui i nā noi i ka hoʻonaʻauao a me ka noiʻi. Aia pū ka pūʻolo i kahi kaiapuni hoʻomohala me nā hōʻailona code, auto-formatting, debugger, form design, a me code samples no ka poʻe hoʻomaka. Hāʻawi ʻia ke code papahana ma lalo o ka laikini LGPLv3. Hiki ke kūkulu ʻia ma Linux (Mono-based) a me Windows.

Nā hoʻololi i ka hoʻokuʻu hou:

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

Pākuʻi i ka manaʻo hoʻopuka