Yuescript ist ein Moonscript -Dialekt. Es stammt aus Mooncript Language 0.5.0 und übernimmt kontinuierlich neue Funktionen, um mehr auf dem neuesten Stand zu sein.
Moonscript ist eine Sprache, die für Lua kompiliert. Seit dem ursprünglichen Moonscript wurde das Web -Framework -Lapis verwendet und einige Business -Websites wie Itch.io und Streak.club mit einigen großen Codebasen ausführen. Die Originalsprache wird zu schwierig, neue Funktionen für diese zu übernehmen, um die Stabilität für vorhandene Anwendungen zu brechen.
Yuescript ist also eine neue Codebasis, um die Sprache zu drücken, um vorwärts zu gehen, und ein Spielplatz zu sein, um neue Sprachsyntax oder Programmierparadigmen einzuführen, um die Mooncript -Sprache ausdrucksvoller und produktiver zu gestalten.
Yue (月) ist der Name des Mondes auf Chinesisch und wird als [jyɛ] ausgesprochen.
Erstellen Sie yue.so -Datei mit
> make shared LUAI=/usr/local/include/lua LUAL=/usr/local/lib/lua Holen Sie sich dann die Binärdatei von Path bin/shared/yue.so .
Oder Sie können Luarocks, einen Paketmanager für Lua -Module, installieren. Installieren Sie es dann als LUA -Modul mit
> luarocks install yuescriptErfordern Sie dann das Yuescript -Modul in lUA:
require ( " yue " )( " main " ) -- require `main.yue`
local yue = require ( " yue " )
local codes , err , globals = yue . to_lua ( [[
f = ->
print "hello world"
f!
]] ,{
implicit_return_root = true ,
reserve_line_number = true ,
lint_global = true
})Klonen Sie dieses Repo, erstellen und installieren Sie die ausführbare Datei mit:
> make installErstellen Sie das Yuescript -Tool ohne Makrofunktion:
> make install NO_MACRO=trueErstellen Sie Yuescript-Tool ohne integrierte Lua-Binärin:
> make install NO_LUA=trueVerwenden Sie Yuescript -Tool mit:
> yue -h
Usage: yue [options | files | directories] ...
-h Print this message
-e str Execute a file or raw codes
-m Generate minified codes
-r Rewrite output to match original line numbers
-t path Specify where to place compiled files
-o file Write output to file
-s Use spaces in generated codes instead of tabs
-p Write output to standard out
-b Dump compile time (doesn ' t write output)
-g Dump global variables used in NAME LINE COLUMN
-l Write line numbers from source codes
-c Reserve comments before statement from source codes
-w path Watch changes and compile every file under directory
-v Print version
-- Read from standard in, print to standard out
(Must be first and only argument)
--target=version Specify the Lua version that codes will be generated to
(version can only be 5.1, 5.2, 5.3 or 5.4)
--path=path_str Append an extra Lua search path string to package.path
Execute without options to enter REPL, type symbol ' $'
in a single line to start/stop multi-line mode Anwendungsfälle:
Kompilieren Sie rekursiv jede Yuescript -Datei mit Erweiterung .yue unter dem aktuellen Pfad: yue .
Kompilieren und speichern Sie Ergebnisse in einem Zielpfad: yue -t /target/path/ .
Kompilieren und Reserve -Debug -Info: yue -l .
Kompilieren und generieren Sie Minific -Codes: yue -m .
Rohcodes ausführen: yue -e 'print 123'
Führen Sie eine Yuescript -Datei aus: yue -e main.yue
MIT