Το σύστημα προγραμματισμού PascalABC.NET 3.8 είναι τώρα διαθέσιμο. Προσφέρει μια έκδοση της γλώσσας προγραμματισμού Pascal με υποστήριξη δημιουργίας κώδικα για την πλατφόρμα .NET, τη δυνατότητα χρήσης βιβλιοθηκών .NET και πρόσθετες λειτουργίες όπως γενικές κλάσεις, διεπαφές, υπερφόρτωση τελεστών, εκφράσεις λ, εξαιρέσεις, συλλογή απορριμμάτων, μεθόδους επέκτασης, ανώνυμες κλάσεις και αυτόματες κλάσεις. Το έργο απευθύνεται κυρίως στην εκπαίδευση και την έρευνα. Το πακέτο περιλαμβάνει επίσης ένα περιβάλλον ανάπτυξης με υποδείξεις κώδικα, αυτόματη μορφοποίηση, ένα εργαλείο εντοπισμού σφαλμάτων, έναν σχεδιαστή φόρμας και δείγματα κώδικα για αρχάριους. Ο κώδικας του έργου διανέμεται με την άδεια LGPLv3. Η δημιουργία είναι δυνατή σε... Linux (βασισμένο στο Mono) και Windows.
Αλλαγές στη νέα έκδοση:
- Προστέθηκε υποστήριξη για τον τεμαχισμό πολυδιάστατων πινάκων ξεκινά 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] τέλος.
- Προστέθηκαν εκφράσεις λάμδα με παραμέτρους αποσυσκευασίας που είναι πλειάδες ή ακολουθίες. Είναι πλέον δυνατό να ονομάσουμε στοιχεία πλειάδων απευθείας σε παραμέτρους λάμδα. Για να αποσυμπιέσετε μια παράμετρο πλειάδας t στις μεταβλητές x και y, χρησιμοποιήστε τον συμβολισμό \\(x,y). Αυτή είναι μια παράμετρος, σε αντίθεση με τον συμβολισμό (x,y), που αντιπροσωπεύει δύο παραμέτρους: begin var s := Seq(('Umnova',16),('Ivanov',23), ('Popova',17 ), (' Kozlov', 24)); Println('Ενήλικες:'); s.Where(\\(όνομα, ηλικία) -> ηλικία >= 18).Println; Println('Ταξινόμηση κατά επώνυμο:'); s.OrderBy(\\(όνομα, ηλικία) -> όνομα).Println; τέλος.
- Επιτρέπεται η κατασκευή «a as array of T», που παλαιότερα απαγορευόταν σε επίπεδο γραμματικής. start var ob: αντικείμενο := νέος ακέραιος[2,3]; var a := ob ως πίνακας [,] ακέραιου αριθμού; τέλος.
Πηγή: opennet.ru
