Famoahana ny tontolo fampandrosoana PascalABC.NET 3.8

Ny famoahana ny rafitra fandaharana PascalABC.NET 3.8 dia misy, manolotra fanontana ny fiteny fandaharana Pascal miaraka amin'ny fanohanana ny famoronana kaody ho an'ny sehatra .NET, ny fahafahana mampiasa tranomboky .NET sy ireo endri-javatra fanampiny toy ny kilasy generic, interface. , fanerena be loatra amin'ny operator, Ξ»-expressions, exceptions, fanangonana fako, fomba fanitarana, kilasy tsy misy anarana ary autoclasses. Ny tetikasa dia mifantoka indrindra amin'ny fampiharana amin'ny fanabeazana sy fikarohana. Ny fonosana ihany koa dia misy tontolo fampandrosoana miaraka amin'ny toro-hevitra code, auto-formatting, debugger, mpamorona endrika ary santionany code ho an'ny vao manomboka. Ny kaody tetikasa dia zaraina amin'ny alΓ lan'ny fahazoan-dΓ lana LGPLv3. Azo aorina amin'ny Linux (Mono-based) sy Windows.

Fanovana amin'ny famoahana vaovao:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° срСзов ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов 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

Add a comment