Yuescript adalah dialek moonskrip. Ini berasal dari bahasa moonskrip 0.5.0 dan terus mengadopsi fitur baru menjadi lebih up to date.
Moonscript adalah bahasa yang dikompilasi ke Lua. Karena Moonscript asli telah digunakan untuk menulis kerangka kerja Web Lapis dan menjalankan beberapa situs web bisnis seperti ITCH.IO dan Streak.club dengan beberapa basis kode besar. Bahasa asli menjadi terlalu sulit untuk mengadopsi fitur baru bagi mereka yang dapat merusak stablility untuk aplikasi yang ada.
Jadi Yuescript adalah basis kode baru untuk mendorong bahasa untuk maju dan menjadi taman bermain untuk mencoba memperkenalkan sintaksis bahasa baru atau paradigma pemrograman untuk membuat bahasa moonskrip lebih ekspresif dan produktif.
Yue (月) adalah nama bulan dalam bahasa Cina dan diucapkan sebagai [jyɛ].
Bangun file yue.so dengan
> make shared LUAI=/usr/local/include/lua LUAL=/usr/local/lib/lua Kemudian dapatkan file biner dari path bin/shared/yue.so .
Atau Anda dapat menginstal Luarocks, manajer paket untuk modul LUA. Kemudian instal sebagai modul LUA dengan
> luarocks install yuescriptKemudian membutuhkan modul yuescript di 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
})Klone repo ini, lalu bangun dan instal dapat dieksekusi dengan:
> make installBangun Alat Yuescript Tanpa Fitur Makro:
> make install NO_MACRO=trueBangun Alat Yuescript Tanpa Binary Lua Built-In:
> make install NO_LUA=trueGunakan alat yuescript dengan:
> 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 Gunakan kasus:
Kompilasi secara rekursif setiap file yuescript dengan ekstensi .yue di bawah jalur saat ini: yue .
Kompilasi dan simpan hasil ke jalur target: yue -t /target/path/ .
Kompilasi dan cadangan info debug: yue -l .
Kompilasi dan hasilkan Kode Minified: yue -m .
Eksekusi Kode Mentah: yue -e 'print 123'
Jalankan file yuescript: yue -e main.yue
Mit