Випуск середовища розробки PascalABC.NET 3.8

Доступний випуск системи програмування PascalABC.NET 3.8, що пропонує редакцію мови програмування Паскаль з підтримкою генерації коду для платформи. NET, можливістю використання бібліотек . складання сміття, методи розширення, безіменні класи та автокласи. Проект головним чином орієнтований на застосування у сфері освіти та наукових досліджень. Пакет також включає середовище розробки з підказками за кодом, автоформатуванням, відладчиком, дизайнером форм та зразками коду для початківців. Код проекту розповсюджується під ліцензією LGPLv3. Можливе складання в Linux (на базі Mono) та Windows.

Зміни у новому випуску:

  • Додано підтримку зрізів багатовимірних масивів 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.

Джерело: opennet.ru

Додати коментар або відгук