Veröffentlichung der Entwicklungsumgebung PascalABC.NET 3.8

Die Veröffentlichung des Programmiersystems PascalABC.NET 3.8 ist verfügbar und bietet eine Edition der Programmiersprache Pascal mit Unterstützung für die Codegenerierung für die .NET-Plattform, der Möglichkeit zur Verwendung von .NET-Bibliotheken und zusätzlichen Funktionen wie generischen Klassen und Schnittstellen , Operatorüberladung, λ-Ausdrücke, Ausnahmen, Garbage Collection, Erweiterungsmethoden, namenlose Klassen und Autoklassen. Der Fokus des Projekts liegt vor allem auf Anwendungen in Bildung und Forschung. Das Paket enthält außerdem eine Entwicklungsumgebung mit Codehinweisen, automatischer Formatierung, einem Debugger, einem Formulardesigner und Codebeispielen für Anfänger. Der Projektcode wird unter der LGPLv3-Lizenz verteilt. Kann auf Linux (Mono-basiert) und Windows erstellt werden.

Änderungen in der neuen Version:

  • Unterstützung für das Slicing mehrdimensionaler Arrays hinzugefügt 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] Ende.
  • Lambda-Ausdrücke mit Entpackparametern hinzugefügt, die Tupel oder Sequenzen sind. Es ist nun möglich, Elemente von Tupeln direkt in Lambda-Parametern zu benennen. Um einen Tupelparameter t in die Variablen x und y zu entpacken, verwenden Sie die Notation \\(x,y). Dies ist ein Parameter, im Gegensatz zur Notation (x,y), die zwei Parameter darstellt: begin var s := Seq(('Umnova',16),('Ivanov',23), ('Popova',17 ),(' Kozlov', 24)); Println('Erwachsene:'); s.Where(\\(name,age) -> age >= 18).Println; Println('Nach Nachname sortieren:'); s.OrderBy(\\(name,age) -> name).Println; Ende.
  • Erlaubt ist die Konstruktion „a als Array von T“, die bisher auf grammatikalischer Ebene verboten war. begin var ob: object := new integer[2,3]; var a := ob als Array [,] einer Ganzzahl; Ende.

Source: opennet.ru

Kommentar hinzufügen