PascalABC.NET 3.8 әзірлеу ортасының шығарылымы

PascalABC.NET 3.8 бағдарламалау жүйесінің шығарылымы қол жетімді, ол .NET платформасы үшін код генерациясын қолдауымен, .NET кітапханаларын және жалпы сыныптар, интерфейстер сияқты қосымша мүмкіндіктерді пайдалану мүмкіндігімен Паскаль бағдарламалау тілінің шығарылымын ұсынады. , операторды шамадан тыс жүктеу, λ-өрнектер, ерекшеліктер, қоқыс жинау, кеңейту әдістері, атаусыз класстар және автокласстар. Жоба ең алдымен білім беру және зерттеу салаларындағы қолданбаларға бағытталған. Сондай-ақ пакетте код кеңестері, автоматты пішімдеу, жөндеуші, пішін дизайнері және жаңадан бастаушыларға арналған код үлгілері бар әзірлеу ортасы бар. Жоба коды LGPLv3 лицензиясы бойынша таратылады. Linux (моно негізіндегі) және Windows жүйелерінде құрастырылуы мүмкін.

Жаңа шығарылымдағы өзгерістер:

  • Көпөлшемді массивтерді кесу үшін қосылған қолдау start 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] соңы.
  • Кортеждер немесе реттіліктер болып табылатын орамнан шығару параметрлері бар ламбда өрнектері қосылды. Енді лямбда параметрлерінде кортеждердің элементтерін тікелей атауға болады. t кортежінің параметрін x және y айнымалыларына шығару үшін \\(x,y) белгісін пайдаланыңыз. Бұл екі параметрді білдіретін (x,y) белгісінен айырмашылығы бір параметр: begin var s := Seq(('Umnova',16),('Ivanov',23), ('Popova',17 ),(' Козлов', 24)); Println('Ересектер:'); s.Қайда(\\(аты,жасы) -> жасы >= 18).Println; Println('Тегі бойынша сұрыптау:'); s.OrderBy(\\(аты,жасы) -> аты).Println; Соңы.
  • Бұрын грамматикалық деңгейде тыйым салынған «Т массиві ретінде» құрастыруға рұқсат етіледі. begin var ob: object := new integer[2,3]; var a := ob бүтін [,] массиві ретінде; Соңы.

Ақпарат көзі: opennet.ru

пікір қалдыру