PascalABC.NET 3.8 Publicació de l'entorn de desenvolupament

El llançament del sistema de programació PascalABC.NET 3.8 està disponible, que ofereix una edició del llenguatge de programació Pascal amb suport per a la generació de codi per a la plataforma .NET, la possibilitat d'utilitzar biblioteques .NET i funcions addicionals com classes genèriques, interfícies , sobrecàrrega d'operadors, expressions λ, excepcions, recollida d'escombraries, mètodes d'extensió, classes sense nom i autoclasses. El projecte se centra principalment en aplicacions en educació i recerca. El paquet també inclou un entorn de desenvolupament amb pistes de codi, format automàtic, un depurador, un dissenyador de formularis i mostres de codi per a principiants. El codi del projecte es distribueix sota la llicència LGPLv3. Es pot construir a Linux (basat en mono) i Windows.

Canvis en la nova versió:

  • S'ha afegit suport per tallar matrius multidimensionals 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] final.
  • S'han afegit expressions lambda amb paràmetres de desempaquetat que són tuples o seqüències. Ara és possible anomenar elements de tuples directament en paràmetres lambda. Per descomprimir un paràmetre de tupla t en variables x i y, utilitzeu la notació \\(x,y). Aquest és un paràmetre, a diferència de la notació (x,y), que representa dos paràmetres: begin var s := Seq(('Umnova',16),('Ivanov',23), ('Popova',17 ),('Kozlov', 24)); Println('Adults:'); s.On(\\(nom,edat) -> edat >= 18).Println; Println('Ordena per cognom:'); s.OrderBy(\\(nom,edat) -> nom).Println; final.
  • Es permet la construcció "a com a matriu de T", que abans estava prohibida a nivell gramatical. begin var ob: object := nou enter[2,3]; var a := ob com a matriu [,] de nombre enter; final.

Font: opennet.ru

Afegeix comentari