Yuescript - это диалект лунного критерия. Он получен из языка Mooncript 0.5.0 и непрерывно внедряет новые функции, чтобы они были более актуальными.
Mounscript - это язык, который компилируется для Lua. Поскольку оригинальный Mounscript был использован для написания веб -структуры Lapis и запуска нескольких бизнес -сайтов, таких как itch.io и streak.club с некоторыми крупными кодовыми базами. Оригинальный язык становится слишком сложным, чтобы принять новые функции для них, которые могут сломать стабильность для существующих приложений.
Таким образом, Yuescript является новой кодовой базой для подталкивания языка, чтобы идти вперед и быть игровой площадкой, чтобы попытаться представить новый языковой синтаксис или парадигмы программирования, чтобы сделать язык луноотрада более выразительным и продуктивным.
Юэ (月) - это имя Луны на китайском языке, и это произносится как [jyɛ].
Создайте файл yue.so с
> make shared LUAI=/usr/local/include/lua LUAL=/usr/local/lib/lua Затем получите двоичный файл из Path bin/shared/yue.so .
Или вы можете установить Luarocks, диспетчер пакетов для модулей LUA. Затем установите его как модуль LUA с
> luarocks install yuescriptЗатем потребуется модуль юниц в 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
})Клонировать это репо, затем создайте и установите исполняемый файл с:
> make installСоздайте инструмент yuescript без макро -функции:
> make install NO_MACRO=trueПостройте инструмент Yuescript без встроенного бинарника Lua:
> make install NO_LUA=trueИспользуйте инструмент yuescript с:
> 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 Примеры использования:
Рекурсивное составление каждого файла yuescript с расширением .yue под текущим путем: yue .
Скомпилируйте и сохраняйте результаты на целевой путь: yue -t /target/path/ .
Скомпилируйте и резервируйте информацию отладки: yue -l .
Скомпилируйте и генерируйте минимизированные коды: yue -m .
Выполнить необработанные коды: yue -e 'print 123'
Выполнить файл yuescript: yue -e main.yue
Грань