PascalABC.NET 3.8 kūrimo aplinkos išleidimas

Yra PascalABC.NET 3.8 programavimo sistemos leidimas, siūlantis Pascal programavimo kalbos leidimą su .NET platformos kodo generavimo palaikymu, galimybe naudoti .NET bibliotekas ir papildomas funkcijas, tokias kaip bendrosios klasės, sąsajos, operatorius. perkrovimas, λ išraiškos, išimtys, šiukšlių surinkimas, išplėtimo metodai, neįvardytos klasės ir autoklasės. Projektas visų pirma orientuotas į taikymą švietimo ir mokslinių tyrimų srityse. Į paketą taip pat įtraukta kūrimo aplinka su kodo užuominomis, automatiniu formatavimu, derinimo priemonė, formų kūrimo priemonė ir kodo pavyzdžiai pradedantiesiems. Projekto kodas platinamas pagal LGPLv3 licenciją. Gali būti sukurtas Linux (mono pagrindu) ir Windows.

Pakeitimai naujame leidime:

  • Pridėta daugiamačių masyvų pjaustymo parama 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] pabaiga.
  • Pridėtos lambda išraiškos su išpakavimo parametrais, kurie yra eilės arba sekos. Dabar kortelių elementus galima pavadinti tiesiogiai lambda parametruose. Norėdami išpakuoti eilės parametrą t į kintamuosius x ir y, naudokite žymėjimą \\(x,y). Tai yra vienas parametras, priešingai nei žymėjimas (x,y), kuris reiškia du parametrus: begin var s := Seq(('Umnova',16),('Ivanov',23), ('Popova',17) ),('Kozlovas', 24)); Println('Suaugusieji:'); s.Where(\\(vardas,amžius) -> amžius >= 18).Println; Println('Rūšiuoti pagal pavardę:'); s.OrderBy(\\(vardas,amžius) -> vardas).Println; galas.
  • Leidžiama konstrukcija „a as masyvas T“, kuri anksčiau buvo draudžiama gramatikos lygiu. begin var ob: object := new integer[2,3]; var a := ob kaip sveikojo skaičiaus masyvas [,]; galas.

Šaltinis: opennet.ru

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