Sortie de l'environnement de développement PascalABC.NET 3.8

La version du système de programmation PascalABC.NET 3.8 est disponible, offrant une édition du langage de programmation Pascal avec prise en charge de la génération de code pour la plateforme .NET, la possibilité d'utiliser des bibliothèques .NET et des fonctionnalités supplémentaires telles que des classes génériques, des interfaces. , surcharge d'opérateurs, expressions λ, exceptions, garbage collection, méthodes d'extension, classes sans nom et autoclasses. Le projet se concentre principalement sur les applications dans l’éducation et la recherche. Le package comprend également un environnement de développement avec des astuces de code, un formatage automatique, un débogueur, un concepteur de formulaire et des exemples de code pour les débutants. Le code du projet est distribué sous licence LGPLv3. Peut être construit sur Linux (basé sur Mono) et Windows.

Changements dans la nouvelle version :

  • Ajout de la prise en charge du découpage des tableaux multidimensionnels 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] fin.
  • Ajout d'expressions lambda avec des paramètres de décompression qui sont des tuples ou des séquences. Il est désormais possible de nommer des éléments de tuples directement dans les paramètres lambda. Pour décompresser un paramètre de tuple t en variables x et y, utilisez la notation \\(x,y). Il s'agit d'un paramètre, par opposition à la notation (x,y), qui représente deux paramètres : start var s := Seq(('Umnova',16),('Ivanov',23), ('Popova',17 ),(' Kozlov', 24)); Println('Adultes :'); s.Où(\\(nom, âge) -> âge >= 18).Println; Println('Trier par nom de famille :'); s.OrderBy(\\(nom,âge) -> nom).Println; fin.
  • La construction « a comme tableau de T » est autorisée, ce qui était auparavant interdit au niveau de la grammaire. start var ob: object := new integer[2,3]; var a := ob sous forme de tableau [,] d'entier ; fin.

Source: opennet.ru

Ajouter un commentaire