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

Автор Сообщение
news_bot ®

Стаж: 6 лет 3 месяца
Сообщений: 27286

Создавать темы news_bot ® написал(а)
19-Мар-2021 11:30

Доступен выпуск системы программирования PascalABC.NET 3.8, предлагающей редакцию языка программирования Паскаль с поддержкой генерации кода для платформы .NET, возможностью использования библиотек .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
===========

Похожие новости: Теги для поиска: #_pascal, #_pascalabc.net
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 01-Июн 18:30
Часовой пояс: UTC + 5