เบเบฒเบ™เบ›เปˆเบญเบเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ PascalABC.NET 3.8

เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก PascalABC.NET 3.8, เบชเบฐเป€เบซเบ™เบตเบชเบฐเบšเบฑเบšเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก Pascal เบ—เบตเปˆเบกเบตเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบœเบฐเบฅเบดเบ”เบฅเบฐเบซเบฑเบ”เบชเปเบฒเบฅเบฑเบšเปเบžเบฅเบฐเบ•เบฐเบŸเบญเบก .NET, เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” .NET เปเบฅเบฐเบฅเบฑเบเบชเบฐเบ™เบฐเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเป€เบŠเบฑเปˆเบ™: เบŠเบฑเป‰เบ™เบฎเบฝเบ™เบ—เบปเปˆเบงเป„เบ›, เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš. , operator overloading, ฮป-expressions, เบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™, เบเบฒเบ™เป€เบเบฑเบšเบ‚เบตเป‰เป€เบซเบเบทเป‰เบญ, เบงเบดเบ—เบตเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบ, เบซเป‰เบญเบ‡เบฎเบฝเบ™เบ—เบตเปˆเบšเปเปˆเบกเบตเบŠเบทเปˆ เปเบฅเบฐ autoclasses. เป‚เบ„เบ‡เบเบฒเบ™เบ•เบปเป‰เบ™เบ•เปเปเบกเปˆเบ™เบชเบธเบกเปƒเบชเปˆเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบเบฒเบ™เบชเบถเบเบชเบฒเปเบฅเบฐเบเบฒเบ™เบ„เบปเป‰เบ™เบ„เบงเป‰เบฒ. เบŠเบธเบ”เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบเบฑเบ‡เบ›เบฐเบเบญเบšเบกเบตเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ—เบตเปˆเบกเบตเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบฅเบฐเบซเบฑเบ”, เบเบฒเบ™เบˆเบฑเบ”เบฎเบนเบšเปเบšเบšเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”, เบ•เบปเบงเบ”เบตเบšเบฑเบ, เบœเบนเป‰เบญเบญเบเปเบšเบšเปเบšเบšเบŸเบญเบก, เปเบฅเบฐเบ•เบปเบงเบขเปˆเบฒเบ‡เบฅเบฐเบซเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. เบฅเบฐเบซเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™เปเบกเปˆเบ™เปเบˆเบเบขเบฒเบเบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” LGPLv3. เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบขเบนเปˆเปƒเบ™ Linux (Mono-based) เปเบฅเบฐ Windows.

เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™เบเบฒเบ™เบ›เปˆเบญเบเปƒเบซเบกเปˆ:

  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบฑเบ”เบญเบฐเป€เบฃเบซเบผเบฒเบเบกเบดเบ•เบดเบฅเบฐเบ”เบฑเบšเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ 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] เบˆเบปเบš.
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ‚เบญเบ‡ lambda เบ”เป‰เบงเบเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™ unpacking เบ—เบตเปˆเป€เบ›เบฑเบ™ tuples เบซเบผเบทเบฅเปเบฒเบ”เบฑเบš. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบ•เบฑเป‰เบ‡เบŠเบทเปˆเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡ tuples เป‚เบ”เบเบเบปเบ‡เปƒเบ™เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™ lambda. เป€เบžเบทเปˆเบญเปเบเบเบžเบฒเบฃเบฒเบกเบดเป€เบ•เบต tuple t เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ•เบปเบงเปเบ› x เปเบฅเบฐ y, เปƒเบซเป‰เปƒเบŠเป‰เปเบฒเบเป€เบซเบ” \\(x,y). เบ™เบตเป‰เปเบกเปˆเบ™เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบซเบ™เบถเปˆเบ‡, เบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบกเบเบฑเบš notation (x,y), เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบชเบญเบ‡เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™: begin var s := Seq(('Umnova',16),('Ivanov',23), ('Popova',17). ),('Kozlov', 24)); Println('เบœเบนเป‰เปƒเบซเบเปˆ:'); s.Where(\\(เบŠเบทเปˆ,เบญเบฒเบเบธ) -> เบญเบฒเบเบธ >= 18).Println; Println('เบˆเบฑเบ”เบฎเบฝเบ‡เบ•เบฒเบกเบ™เบฒเบกเบชเบฐเบเบธเบ™:'); s.OrderBy(\\(เบŠเบทเปˆ,เบญเบฒเบเบธ) -> เบŠเบทเปˆ).เบžเบดเบก; เบชเบดเป‰เบ™เบชเบธเบ”.
  • เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡ "a as array เบ‚เบญเบ‡ T" เปเบกเปˆเบ™เบญเบฐเบ™เบธเบเบฒเบ”, เป€เบŠเบดเปˆเบ‡เป„เบ”เป‰เบ–เบทเบเบซเป‰เบฒเบกเปƒเบ™เป€เบกเบทเปˆเบญเบเปˆเบญเบ™เปƒเบ™เบฅเบฐเบ”เบฑเบšเป„เบงเบเบฒเบเบญเบ™. begin var ob: object := new integer[2,3]; var a := ob as array [,] of integer; เบชเบดเป‰เบ™เบชเบธเบ”.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™