PascalABC.NET 3.8 иштеп чыгуу чөйрөсүн чыгаруу

PascalABC.NET 3.8 программалоо тутумунун релизи бар, ал Pascal программалоо тилинин .NET платформасы үчүн кодду генерациялоону колдоо менен, .NET китепканаларын жана жалпы класстар, интерфейстер сыяктуу кошумча функцияларды колдонуу мүмкүнчүлүгүн сунуштайт. , оператордун ашыкча жүктөлүшү, λ-туюндоолор, өзгөчө жагдайлар, таштанды чогултуу, кеңейтүү ыкмалары, аты жок класстар жана автокласстар. Долбоор биринчи кезекте билим берүү жана изилдөө тармагындагы колдонмолорго багытталган. Пакет ошондой эле код кеңештери, авто-форматтоо, мүчүлүштүктөрдү оңдоочу, форма дизайнери жана үйрөнчүктөр үчүн код үлгүлөрү менен иштеп чыгуу чөйрөсүн камтыйт. Долбоордун коду LGPLv3 лицензиясы боюнча таратылат. Linux (Моно негизделген) жана 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] аягы.
  • Кошулган ламбда туюнтмалары таңгактан чыгуучу параметрлери бар, алар кортеждер же ырааттуулуктар. Эми кортеждердин элементтерин лямбда параметрлеринде түз атаса болот. t кортежинин параметрин x жана y өзгөрмөлөрүнө чыгаруу үчүн \\(x,y) белгиленишин колдонуңуз. Бул эки параметрди билдирген (x,y) белгиден айырмаланып, бир параметр: begin var s := Seq(('Umnova',16),('Ivanov',23), ('Popova',17 ),(' Козлов', 24)); Println('Улуулар:'); s.Where(\\(аты,жасы) -> жашы >= 18).Println; Println('Фамилия боюнча сорттоо:'); s.OrderBy(\\(аты,жасы) -> аты).Println; бүтүү.
  • Мурда грамматикалык деңгээлде тыюу салынган “Т массивинин a” түзүлүшүнө жол берилет. begin var ob: object := new integer[2,3]; var a := ob массив катары [,] бүтүн сандан; бүтүү.

Source: opennet.ru

Комментарий кошуу