Phát hành môi trường phát triển PascalABC.NET 3.8

Đã có bản phát hành hệ thống lập trình PascalABC.NET 3.8, cung cấp phiên bản ngôn ngữ lập trình Pascal với sự hỗ trợ tạo mã cho nền tảng .NET, khả năng sử dụng thư viện .NET và các tính năng bổ sung như lớp chung, giao diện , nạp chồng toán tử, biểu thức λ, ngoại lệ, thu gom rác, phương thức mở rộng, lớp không tên và lớp tự động. Dự án chủ yếu tập trung vào các ứng dụng trong giáo dục và nghiên cứu. Gói này cũng bao gồm một môi trường phát triển với các gợi ý mã, định dạng tự động, trình gỡ lỗi, trình thiết kế biểu mẫu và các mẫu mã cho người mới bắt đầu. Mã dự án được phân phối theo giấy phép LGPLv3. Có thể được xây dựng trên Linux (Mono-based) và Windows.

Những thay đổi trong phiên bản mới:

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

Nguồn: opennet.ru

Thêm một lời nhận xét