Yuescript est un dialecte Moonscript. Il est dérivé du langage Moonscript 0.5.0 et adoptant continuellement de nouvelles fonctionnalités pour être plus à jour.
Moonscript est une langue qui compile avec Lua. Étant donné que l'original Moonscript a été utilisé pour écrire le framework Web Lapis et exécuter quelques sites Web commerciaux comme istch.io et stree.club avec de grandes bases de code. La langue d'origine devient trop difficile d'adopter de nouvelles fonctionnalités pour celles-ci peut briser la stablilité pour les applications existantes.
Ainsi, Yuescript est une nouvelle base de code pour pousser la langue pour aller de l'avant et être une aire de jeux pour essayer d'introduire une nouvelle syntaxe de langue ou des paradigmes de programmation pour rendre le langage Moonscript plus expressif et productif.
Yue (月) est le nom de la lune en chinois et il est prononcé comme [Jyɛ].
Créer un fichier yue.so
> make shared LUAI=/usr/local/include/lua LUAL=/usr/local/lib/lua Obtenez ensuite le fichier binaire à partir de Path bin/shared/yue.so
Ou vous pouvez installer Luarocks, un gestionnaire de packages pour les modules LUA. Puis installez-le comme un module LUA avec
> luarocks install yuescriptNécessitent ensuite le module Yuescript dans 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
})Clone ce dépôt, puis construire et installer exécutable avec:
> make installCréer un outil Yuescript sans fonctionnalité macro:
> make install NO_MACRO=trueConstruisez l'outil Yuescript sans Lua binaire intégré:
> make install NO_LUA=trueUtilisez l'outil Yuescript avec:
> 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 Cas d'utilisation:
Compilez de manière récursive chaque fichier yueScript avec extension .yue sous le chemin actuel: yue .
Compiler et enregistrer les résultats sur un chemin cible: yue -t /target/path/ .
Compiler et réserver les informations de débogage: yue -l .
Compiler et générer des codes minifiés: yue -m .
Exécuter les codes bruts: yue -e 'print 123'
Exécuter un fichier yuescript: yue -e main.yue
Mit