PascalABC.NET 3.8 Versione di l'ambiente di sviluppu

A liberazione di u sistema di prugrammazione PascalABC.NET 3.8 hè dispunibule, chì offre una edizione di u linguaghju di prugrammazione Pascal cù supportu per a generazione di codice per a piattaforma .NET, a capacità di utilizà biblioteche .NET è funzioni supplementari cum'è classi generiche, interfacce, operatore. sovraccarico, espressioni λ, eccezioni, garbage collection, metodi di estensione, classi senza nome e autoclassi. U prugettu hè principalmente focu annantu à l'applicazioni in l'educazione è a ricerca. U pacchettu include ancu un ambiente di sviluppu cù suggerimenti di codice, formattazione automatica, un debugger, un disegnatore di forma è esempi di codice per i principianti. U codice di u prugettu hè distribuitu sottu a licenza LGPLv3. Pò esse custruitu nantu à Linux (basatu in Mono) è Windows.

Cambiamenti in a nova versione:

  • Supportu aghjuntu per slicing arrays multidimensional 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] fini.
  • Aghjunghjite l'espressioni lambda cù paràmetri di sballamentu chì sò tuple o sequenze. Avà hè pussibule di nome elementi di tuple direttamente in paràmetri lambda. Per unpack un parametru di tupla t in variàbili x è y, utilizate a notazione \\(x,y). Il s'agit d'un paramètre, à l'opposé de la notation (x,y), qui représente deux paramètres : begin var s := Seq(('Umnova',16),('Ivanov',23), ('Popova',17). ),('Kozlov', 24)); Println('Adulti:'); s.Where(\\(nome,età) -> età >= 18).Println; Println('Ordina per cognome:'); s.OrderBy(\\(nome,età) -> nome).Println; fine.
  • A custruzzione "a cum'è array di T" hè permessa, chì era pruibita prima à u livellu di grammatica. begin var ob: object := novu integer [2,3]; var a := ob as array [,] of integer; fine.

Source: opennet.ru

Add a comment