杂项功能YueScriptyue本页总览yue 描述: 月之脚本语言库。 version 类型: 成员变量。 描述: 月之脚本版本。 签名: version: string dirsep 类型: 成员变量。 描述: 当前平台的文件分隔符。 签名: dirsep: string yue_compiled 类型: 成员变量。 描述: 编译模块代码缓存。 签名: yue_compiled: {string: string} to_lua 类型: 函数。 描述: 月之脚本的编译函数。它将 YueScript 代码编译为 Lua 代码。 签名: to_lua: function(code: string, config?: Config): --[[codes]] string | nil, --[[error]] string | nil, --[[globals]] {{string, integer, integer}} | nil 参数: 参数名类型描述codestringYueScript 代码。configConfig[可选] 编译器选项。 返回值: 返回类型描述string | nil编译后的 Lua 代码,如果编译失败则为 nil。string | nil错误消息,如果编译成功则为 nil。{{string, integer, integer}} | nil代码中出现的全局变量(带有名称、行和列),如果编译器选项 lint_global 为 false 则为 nil。 file_exist 类型: 函数。 描述: 检查源文件是否存在的函数。可以覆盖该函数以自定义行为。 签名: file_exist: function(filename: string): boolean 参数: 参数名类型描述filenamestring文件名。 返回值: 返回类型描述boolean文件是否存在。 read_file 类型: 函数。 描述: 读取源文件的函数。可以覆盖该函数以自定义行为。 签名: read_file: function(filename: string): string 参数: 参数名类型描述filenamestring文件名。 返回值: 返回类型描述string文件内容。 insert_loader 类型: 函数。 描述: 将 YueScript 加载器插入到 Lua 包加载器(搜索器)中。 签名: insert_loader: function(pos?: integer): boolean 参数: 参数名类型描述posinteger[可选] 要插入加载器的位置。默认为 3。 返回值: 返回类型描述boolean是否成功插入加载器。如果加载器已经插入,则返回失败。 remove_loader 类型: 函数。 描述: 从 Lua 包加载器(搜索器)中移除 YueScript 加载器。 签名: remove_loader: function(): boolean 返回值: 返回类型描述boolean是否成功移除加载器。如果加载器未插入,则返回失败。 loadstring 类型: 函数。 描述: 将 YueScript 代码字符串加载为一个函数。 签名: loadstring: function(input: string, chunkname: string, env: table, config?: Config): --[[loaded function]] nil | function(...: any): (any...), --[[error]] string | nil 参数: 参数名类型描述inputstringYueScript 代码。chunknamestring代码块的名称。envtable环境表。configConfig[可选] 编译器选项。 返回值: 返回类型描述function | nil加载的函数,如果加载失败则为 nil。string | nil错误消息,如果加载成功则为 nil。 loadstring 类型: 函数。 描述: 将 YueScript 代码字符串加载为一个函数。 签名: loadstring: function(input: string, chunkname: string, config?: Config): --[[loaded function]] nil | function(...: any): (any...), --[[error]] string | nil 参数: 参数名类型描述inputstringYueScript 代码。chunknamestring代码块的名称。configConfig[可选] 编译器选项。 返回值: 返回类型描述function | nil加载的函数,如果加载失败则为 nil。string | nil错误消息,如果加载成功则为 nil。 loadstring 类型: 函数。 描述: 将 YueScript 代码字符串加载为一个函数。 签名: loadstring: function(input: string, config?: Config): --[[loaded function]] nil | function(...: any): (any...), --[[error]] string | nil 参数: 参数名类型描述inputstringYueScript 代码。configConfig[可选] 编译器选项。 返回值: 返回类型描述function | nil加载的函数,如果加载失败则为 nil。string | nil错误消息,如果加载成功则为 nil。 loadfile 类型: 函数。 描述: 将 YueScript 代码文件加载为一个函数。 签名: loadfile: function(filename: string, env: table, config?: Config): nil | function(...: any): (any...), string | nil 参数: 参数名类型描述filenamestring文件名。envtable环境表。configConfig[可选] 编译器选项。 返回值: 返回类型描述function | nil加载的函数,如果加载失败则为 nil。string | nil错误消息,如果加载成功则为 nil。 loadfile 类型: 函数。 描述: 将 YueScript 代码文件加载为一个函数。 签名: loadfile: function(filename: string, config?: Config): nil | function(...: any): (any...), string | nil 参数: 参数名类型描述filenamestring文件名。configConfig[可选] 编译器选项。 返回值: 返回类型描述function | nil加载的函数,如果加载失败则为 nil。string | nil错误消息,如果加载成功则为 nil。 dofile 类型: 函数。 描述: 将 YueScript 代码文件加载为一个函数并执行。 签名: dofile: function(filename: string, env: table, config?: Config): any... 参数: 参数名类型描述filenamestring文件名。envtable环境表。configConfig[可选] 编译器选项。 返回值: 返回类型描述any...加载的函数执行后的返回值。 dofile 类型: 函数。 描述: 将 YueScript 代码文件加载为一个函数并执行。 签名: dofile: function(filename: string, config?: Config): any... 参数: 参数名类型描述filenamestring文件名。configConfig[可选] 编译器选项。 返回值: 返回类型描述any...加载的函数执行后的返回值。 find_modulepath 类型: 函数。 描述: 将 YueScript 模块名解析为文件路径。 签名: find_modulepath: function(name: string): string 参数: 参数名类型描述namestring模块名。 返回值: 返回类型描述string文件路径。 pcall 类型: 函数。 描述: 在保护模式下调用一个函数。 会捕获任何错误,执行成功则返回成功状态和结果,否则为失败状态和错误信息。 当发生错误时,将错误信息中的代码行号重写为 YueScript 代码中的原始行号。 签名: pcall: function(f: function, ...: any): boolean, any... 参数: 参数名类型描述ffunction要调用的函数。...any要传递给函数的参数。 返回值: 返回类型描述boolean, ...状态码和函数结果或错误信息。 require 类型: 函数。 描述: 加载给定的模块。可以是 Lua 模块或 YueScript 模块。 如果模块是 YueScript 模块且加载失败,则将错误信息中的代码行号重写为 YueScript 代码中的原始行号。 签名: require: function(name: string): any... 参数: 参数名类型描述modnamestring要加载的模块名。 返回值: 返回类型描述any如果模块已经加载,则返回 package.loaded[modname] 中存储的值。否则,尝试查找加载器并返回 package.loaded[modname] 的最终值和加载器数据作为第二个结果。 p 类型: 函数。 描述: 检查传递的值的内部结构,并打印值出它的字符串表示。 签名: p: function(...: any) 参数: 参数名类型描述...any要检查的值。 options 类型: 成员变量。 描述: 当前编译器选项。 签名: options: Config.Options traceback 类型: 函数。 描述: 重写堆栈跟踪中的行号为 YueScript 代码中的原始行号的 traceback 函数。 签名: traceback: function(message: string): string 参数: 参数名类型描述messagestring堆栈跟踪消息。 返回值: 返回类型描述string重写后的堆栈跟踪消息。 compile 类型: 函数。 描述: 在线程中异步将 YueScript 代码编译为 Lua 代码。 签名: compile: function( sourceFile: string, targetFile: string, searchPath: string, compileCodesHandler: CompileCodeHandler, callback: function(result: boolean) ) 参数: 参数名类型描述sourceFilestring源文件名。targetFilestring目标文件名。searchPathstring额外模块搜索路径。compileCodesHandlerCompileCodeHandler处理编译后的代码的回调函数。callbackfunction处理结果的回调函数。 is_ast 类型: 函数。 描述: 检查代码是否匹配指定的 AST。 签名: is_ast: function(astName: string, code: string): boolean 参数: 参数名类型描述astNamestringAST 名称。codestring代码。 返回值: 返回类型描述boolean代码是否匹配 AST。 AST 类型: 成员变量。 描述: AST 类型定义,带有名称、行、列和子节点。 签名: type AST = {string, integer, integer, any} to_ast 类型: 函数。 描述: 将代码转换为 AST。 签名: to_ast: function(code: string, flattenLevel?: number, astName?: string): --[[AST]] AST | nil, --[[error]] nil | string 参数: 参数名类型描述codestring代码。flattenLevelinteger[可选] 扁平化级别。级别越高,会消除更多的 AST 结构的嵌套。默认为 0。最大为 2。 checkAsync 类型: 函数。 描述: 在异步线程中检查 YueScript 代码中的问题。 只能在协程线程中调用。 签名: checkAsync: function(yueCodes: string, searchPath: string, lax: boolean): --[[info]] {{ --[[type]] string, --[[msg]] string, --[[line]] integer, --[[col]] integer }}, --[[luaCodes]] string | nil 参数: 参数名类型描述yueCodesstringYueScript 代码。searchPathstring额外模块搜索路径。laxboolean是否以宽松模式进行。 返回值: 返回类型描述{info}包含类型、消息、行和列的问题信息数组。string | nil当未发现问题时获得编译后的 Lua 代码,如果检查失败则为 nil。 clear 类型: 函数。 描述: 清除缓存中的编译后的宏函数。 签名: clear: function() __call 类型: 元方法。 描述: 导入 YueScript 模块。 如果发生加载失败,则将错误信息中的代码行号重写为 YueScript 代码中的原始行号。 签名: metamethod __call: function(self: yue, module: string): any... 参数: 参数名类型描述modulestring模块名。 返回值: 返回类型描述any模块值。