Rilascio dell'ambiente di sviluppo PascalABC.NET 3.8

È disponibile il rilascio del sistema di programmazione PascalABC.NET 3.8 che offre un'edizione del linguaggio di programmazione Pascal con supporto per la generazione di codice per la piattaforma .NET, la possibilità di utilizzare librerie .NET e funzionalità aggiuntive come classi generiche, interfacce , sovraccarico degli operatori, espressioni λ, eccezioni, garbage collection, metodi di estensione, classi senza nome e autoclassi. Il progetto si concentra principalmente sulle applicazioni nel campo dell'istruzione e della ricerca. Il pacchetto include anche un ambiente di sviluppo con suggerimenti sul codice, formattazione automatica, un debugger, un progettista di moduli ed esempi di codice per principianti. Il codice del progetto è distribuito sotto la licenza LGPLv3. Può essere creato su Linux (basato su Mono) e Windows.

Modifiche nella nuova versione:

  • Aggiunto il supporto per affettare gli array multidimensionali 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] fine.
  • Aggiunte espressioni lambda con parametri di decompressione che sono tuple o sequenze. Ora è possibile nominare gli elementi delle tuple direttamente nei parametri lambda. Per decomprimere un parametro di tupla t nelle variabili xey, utilizzare la notazione \\(x,y). Questo è un parametro, al contrario della notazione (x,y), che rappresenta due parametri: 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.
  • È consentita la costruzione “a come array di T”, precedentemente vietata a livello grammaticale. inizio var ob: oggetto := nuovo intero[2,3]; var a := ob as array [,] di numero intero; FINE.

Fonte: opennet.ru

Aggiungi un commento