跳到主要内容

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):
--[[info]] {{
--[[type]] string,
--[[msg]] string,
--[[line]] integer,
--[[col]] integer
}},
--[[luaCodes]] string | nil

参数:

参数名类型描述
yueCodesstringYuescript 代码。
searchPathstring额外模块搜索路径。

返回值:

返回类型描述
{info}包含类型、消息、行和列的问题信息数组。
string | nil当未发现问题时获得编译后的 Lua 代码,如果检查失败则为 nil。

clear

类型: 函数。

描述:

  清除缓存中的编译后的宏函数。

签名:

clear: function()

__call

类型: 元方法。

描述:

  导入 Yuescript 模块。 如果发生加载失败,则将错误信息中的代码行号重写为 Yuescript 代码中的原始行号。

签名:

metamethod __call: function(self: yue, module: string): any...

参数:

参数名类型描述
modulestring模块名。

返回值:

返回类型描述
any模块值。