PascalABC.NET 3.8 inkişaf mühitinin buraxılışı

PascalABC.NET 3.8 proqramlaşdırma sisteminin buraxılışı mövcuddur, o, .NET platforması üçün kod yaratmaq dəstəyi, .NET kitabxanalarından istifadə etmək imkanı və ümumi siniflər, interfeyslər kimi əlavə funksiyalar ilə Paskal proqramlaşdırma dilinin nəşrini təklif edir. , operatorun həddən artıq yüklənməsi, λ-ifadələr, istisnalar, zibil toplama, genişləndirmə üsulları, adsız siniflər və avtoklasslar. Layihə ilk növbədə təhsil və tədqiqat sahələrində tətbiqlərə yönəlib. Paketə həmçinin kod göstərişləri, avtomatik formatlaşdırma, sazlayıcı, forma dizayneri və yeni başlayanlar üçün kod nümunələri olan inkişaf mühiti daxildir. Layihə kodu LGPLv3 lisenziyası altında paylanır. Linux (Mono əsaslı) və Windows üzərində qurula bilər.

Yeni buraxılışda dəyişikliklər:

  • Çoxölçülü massivləri dilimləmək üçün əlavə dəstək başlayır 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] son.
  • Tuples və ya ardıcıllıqlar olan açma parametrləri ilə lambda ifadələri əlavə edildi. İndi lambda parametrlərində dələlərin elementlərini birbaşa adlandırmaq mümkündür. Dəyişən t parametrini x və y dəyişənlərinə açmaq üçün \\(x,y) qeydindən istifadə edin. Bu, iki parametri təmsil edən (x,y) qeydindən fərqli olaraq bir parametrdir: begin var s := Seq(('Umnova',16),('İvanov',23), ('Popova',17 ),(' Kozlov', 24)); Println('Böyüklər:'); s.Harda(\\(ad,yaş) -> yaş >= 18).Println; Println('Soyada görə çeşidləyin:'); s.OrderBy(\\(ad,yaş) -> ad).Println; son.
  • Əvvəllər qrammatika səviyyəsində qadağan edilmiş “a kimi T massivi” qurulmasına icazə verilir. begin var ob: obyekt := new integer[2,3]; var a := ob massivi kimi [,] tam ədəd; son.

Mənbə: opennet.ru

Добавить комментарий