Выпуск среды разработки PascalABC.NET 3.7.2
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Доступен выпуск системы программирования PascalABC.NET 3.7.2, предлагающей редакцию языка программирования Паскаль с поддержкой генерации кода для платформы .NET, возможностью использования библиотек .NET и дополнительными возможностями, такими как обобщённые классы, интерфейсы, перегрузка операций, λ-выражения, исключения, сборка мусора, методы расширения, безымянные классы и автоклассы. Проект главным образом ориентирован на применение в сфере образования и научных исследований. Пакет также включает среду разработки с подсказками по коду, автоформатированием, отладчиком, дизайнером форм и образцами кода для начинающих. Код проекта распространяется под лицензией LGPLv3. Возможна сборка в Linux (на базе Mono) и Windows.
Изменения в новом выпуске:
- Расширенный foreach с распаковкой значений в несколько переменных. Значения должны быть кортежами или последовательностями:
begin
var a := Arr((1,2),(3,4),(5,6));
foreach var (x,y) in a do
Print(x,y);
Println;
var b := Arr(|1,2,3|,|4,5|,|6,7,8,9|);
foreach var (x,y) in b do
Print(x,y);
end.
- Литералы для BigInteger, имеющие окончание bi: 1bi, 874658734265762345bi
Пример 1
begin
var n := ReadInteger;
var p := 1bi;
for var i:=2 to n do
p *= i;
Print(p);
end.
Пример 2
##
Print(25bi ** 25 + 17bi ** 17)
- Использование uses в коротких программах
Пример 1
##
uses Graph3D;
Sphere(Origin,1);
Пример 2
###
uses School;
Pr(Bin(123));
- Стандартная библиотека.
- Размещения и размещения с повторениями. В дополнение к методам a.Permutations и a.Combinations(m) для массивов реализованы:
a.Cartesian(n) - возвращает n-тую декартову степень множества, элементов a.Permutations(m) - возвращает все частичные перестановки из n элементов по m.
Кроме того, все указанные методы определены также над последовательностями
###
var a := Arr(1,3,5,7);
a.Permutations.Println;
a.Cartesian(2).Println;
a.Permutations(2).Println;
a.Combinations(2).Println;
Println;
var s := Seq(1,3,5,7);
s.Permutations.Println;
s.Cartesian(2).Println;
s.Permutations(2).Println;
s.Combinations(2).Println;
s.CountOf(x) для последовательностей
###
var a := Arr(1,3,5,7,1,2,1,3,1,5);
a.CountOf(1).Print
- Sum, Average, Product для последовательностей BigInteger
begin
var s := SeqGen(100,i->BigInteger(i)**i);
Print(s.Sum,s.Product);
end.
- Методы расширения строк s.IsInteger и s.IsReal:
begin
var s := '123.4 3 5 6.6 a v 67';
var (si,sr) := (0,0.0);
foreach var w in s.ToWords do
if w.IsInteger then
si += w.ToInteger
else if w.IsReal then
sr += w.Toreal;
Print(si,sr);
end.
- s.ToWords(delims) с разделителями в виде строки.
Разделители в s.ToWords теперь можно задавать в виде строки
begin
var s := '123.4, 6.6, 67';
s.ToWords(' ,').PrintLines
end.
- Определена константа AllDelimiters, содержащая все разделители слов в текстах
begin
...
s.ToWords(AllDelimiters).Println
end.
- В Graph3D реализована сериализация и десериализация компонентов Object3D
Сериализация
uses Graph3D;
begin
var s := Sphere(0,0,0,1);
s.AddChild(Cube(0,0,1,0.5));
s.AddChild(Cube(1,0,0,0.5));
s.AddChild(Cube(-1,0,0,0.5));
s.Serialize('c.dat');
end.
Десериализация
uses Graph3D;
begin
var s := Object3D.DeSerialize('c.dat') as SphereT;
var c1 := s[0] as CubeT;
var c2 := s[1] as CubeT;
var c3 := s[2] as CubeT;
end.
===========
Источник:
OpenNet.RU
===========
Похожие новости:
- [Видеокарты, Математика, Научно-популярное, Обработка изображений, Процессоры] Что такое тензорные ядра: вычисления со смешанной точностью (перевод)
- [Информационная безопасность, История IT, Интервью, IT-компании] Как безопасники боролись с мамонтами, или ИТ- и ИБ 25 лет назад и сейчас
- Обновление редактора кода CudaText 1.105.5
- Релиз компилятора Free Pascal 3.2
- Выпуск среды разработки PascalABC.NET 3.6.3
- [Python, Программирование, Учебный процесс в IT, Карьера в IT-индустрии] Спор о первом языке программирования: окончательное решение
- [*nix, Алгоритмы, История IT] Самые замечательные программы Unix (перевод)
- [Delphi, Разработка игр, Компиляторы, C, Разработка под Windows] Самодельный компилятор и игровая библиотека Raylib. Опыт стыковки
- [Разработка веб-сайтов, Delphi] Разработка веб-сайта на паскале (backend)
- [Delphi, Алгоритмы] Поразрядная сортировка LSD (Radix Sort)
Теги для поиска: #_pascal
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 25-Ноя 08:04
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Доступен выпуск системы программирования PascalABC.NET 3.7.2, предлагающей редакцию языка программирования Паскаль с поддержкой генерации кода для платформы .NET, возможностью использования библиотек .NET и дополнительными возможностями, такими как обобщённые классы, интерфейсы, перегрузка операций, λ-выражения, исключения, сборка мусора, методы расширения, безымянные классы и автоклассы. Проект главным образом ориентирован на применение в сфере образования и научных исследований. Пакет также включает среду разработки с подсказками по коду, автоформатированием, отладчиком, дизайнером форм и образцами кода для начинающих. Код проекта распространяется под лицензией LGPLv3. Возможна сборка в Linux (на базе Mono) и Windows. Изменения в новом выпуске:
=========== Источник: OpenNet.RU ===========
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 25-Ноя 08:04
Часовой пояс: UTC + 5