Lanzamiento del entorno de desarrollo PascalABC.NET 3.8

Está disponible el lanzamiento del sistema de programación PascalABC.NET 3.8, que ofrece una edición del lenguaje de programación Pascal con soporte para generación de código para la plataforma .NET, la capacidad de utilizar bibliotecas .NET y características adicionales como clases genéricas, interfaces , sobrecarga de operadores, expresiones λ, excepciones, recolección de basura, métodos de extensión, clases sin nombre y autoclases. El proyecto se centra principalmente en aplicaciones en educación e investigación. El paquete también incluye un entorno de desarrollo con sugerencias de código, formato automático, un depurador, un diseñador de formularios y ejemplos de código para principiantes. El código del proyecto se distribuye bajo la licencia LGPLv3. Puede construirse en Linux (basado en Mono) y Windows.

Cambios en la nueva versión:

  • Se agregó soporte para dividir matrices multidimensionales start 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] fin.
  • Se agregaron expresiones lambda con parámetros de descompresión que son tuplas o secuencias. Ahora es posible nombrar elementos de tuplas directamente en los parámetros lambda. Para descomprimir un parámetro de tupla t en variables x e y, utilice la notación \\(x,y). Este es un parámetro, a diferencia de la notación (x,y), que representa dos parámetros: comenzar var s := Seq(('Umnova',16),('Ivanov',23), ('Popova',17 ),('Kozlov', 24)); Println('Adultos:'); s.Where(\\(nombre,edad) -> edad >= 18).Println; Println('Ordenar por apellido:'); s.OrderBy(\\(nombre,edad) -> nombre).Println; fin.
  • Se permite la construcción “a como conjunto de T”, que antes estaba prohibida a nivel gramatical. comenzar var ob: objeto: = nuevo entero [2,3]; var a := ob como matriz [,] de número entero; fin.

Fuente: opennet.ru

Añadir un comentario