Dimittis de PascalABC.NET 3.8 evolutionis environment

PascalABC.NET 3.8 Ratio programmandi emissio praesto est, praebens editionem programmandi Paschalis linguae adiumento generationis ad .NET suggestum codicem generationis, facultatem utendi .NET bibliothecas et notas additas ut genera genera, interfaces. , operator onerandi, Ξ»-expressiones, exceptiones, purgamentum collectionis, extensionis methodi, innominatae classes et autoclasses. Hoc consilium maxime spectat ad applicationes in educatione et inquisitione scientifica. Involucrum etiam in ambitu evolutionis includit cum codice ambages, auto-formatting, debugger, forma excogitatoris, et exempla pro incipientibus codice. In codice exertus licentia LGPLv3 distribuitur. Linux (Mono-substructio) et Windows edificari potest.

Mutationes in nova emissione;

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° срСзов ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов 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] end.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ лямбда-выраТСния с распаковкой ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΡΠ²Π»ΡΡŽΡ‰ΠΈΡ…ΡΡ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡΠΌΠΈ. Появилась Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° элСмСнтам ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ прямо Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… лямбды. Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€-ΠΊΠΎΡ€Ρ‚Π΅ΠΆ t Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ x ΠΈ y, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ запись \\(x,y). Π­Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ записи (x,y), ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°: begin var s := Seq((β€˜Π£ΠΌΠ½ΠΎΠ²Π°β€™,16),(β€˜Π˜Π²Π°Π½ΠΎΠ²β€™,23), (β€˜ΠŸΠΎΠΏΠΎΠ²Π°β€™,17),(β€˜ΠšΠΎΠ·Π»ΠΎΠ²β€™,24)); Println(β€˜Π‘ΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠ»Π΅Ρ‚Π½ΠΈΠ΅:’); s.Where(\\(name,age) -> age >= 18).Println; Println(β€˜Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ:’); s.OrderBy(\\(name,age) -> name).Println; end.
  • Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π° конструкция Β«a as array of TΒ», которая Ρ€Π°Π½Π΅Π΅ Π±Ρ‹Π»Π° Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Π° Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ. begin var ob: object := new integer[2,3]; var a := ob as array [,] of integer; end.

Source: opennet.ru