Pluto 0.10.0

Pluto 0.10.0

Am 30. Oktober wurde die Version 0.10.0 des Konsoleninterpreter und der eingebetteten Bibliothek der Sprache veröffentlicht Pluto – eine alternative Implementierung der Sprache Lua 5.4 mit zahlreichen Änderungen und Verbesserungen in der Syntax, der Standardbibliothek und dem Interpreter.

Die Projektteilnehmer entwickeln auch die Bibliothek Soup und ein einfaches System zur Projektgestaltung in C++ Sun. Die Projekte sind in C++ geschrieben und werden unter der MIT-Lizenz verbreitet.

Änderungsprotokoll:

  • es wurde eine Kettenvergleichsfunktion hinzugefügt (z. B. 1 <= i <= #t);
  • private Methoden wurden zu Klassen hinzugefügt;
  • private Felder und Methoden können jetzt überall in der Klasse deklariert und darauf zugegriffen werden;
  • jetzt erkennt Pluto automatisch, ob inkonsistente Schlüsselwörter je nach Verwendung ein- oder ausgeschlossen werden sollen;
  • do kann jetzt anstelle von then und begin verwendet werden;
  • if-Ausdrücke sind nicht mehr veraltet, erfordern jedoch die Verwendung des Schlüsselworts end (z. B. print(if a then b else c end));
  • der Operator $define erfordert jetzt eine Zuweisung;
  • die Ladefunktion für Lua C-Module unter Linux wurde korrigiert;
  • eine Canvas-Bibliothek wurde hinzugefügt;
  • eine ffi-Bibliothek wurde hinzugefügt;
  • eine Regex-Bibliothek wurde hinzugefügt (unabhängige Implementierung in der Bibliothek Soup);
  • es wurde eine Funktion assert.contains hinzugefügt;
  • es wurden die Funktionen bigint.eq, bigint.lt und bigint.le hinzugefügt;
  • es wurden die Funktionen crypto.ripemd160, crypto.exportkey, crypto.importkey und crypto.decompress hinzugefügt;
  • es wurden die Funktionen string.tohex und string.fromhex hinzugefügt;
  • es wurden die Funktionen table.findindex/findkey, table.back, table.keys, table.modget, table.modset, table.slice, table.countvalues und table.chunk hinzugefügt;
  • es wurden die Funktionen socket.getpeer, socket.peek, socket.getside, socket.istls und socket.isopen hinzugefügt;
  • in die Funktion string.split wurde ein optionales Argument limit hinzugefügt;
  • für die Funktion io.currentdir wurden die Aliasnamen io.cwd und io.chdir hinzugefügt;
  • socket.starttls kann jetzt in Server-Sockets verwendet werden;
  • Optimierung von json.encode unter Verwendung von __order;
  • in den Funktionen crypto.encrypt, crypto.decrypt und crypto.sign wurde die Verarbeitung von ungültigen RSA-Privatschlüsseln korrigiert.

Quelle: linux.org.ru

60GB SSD 8Gb DDR4