Lua 解释器

来源:互联网 发布:法国小众香水品牌 知乎 编辑:程序博客网 时间:2024/04/29 09:24

名称

lua - Lua 解释器

摘要

lua [ options ] [ script [ args ] ]

说明

lua是独立的Lua解释器。它载入并执行Lua程序——文本源形式或预编译二进制形式。(预编译二进制是Lua编译器luac输出的。)lua可被用作批量解释器,而且也是交互性的。

给出的options(见下)被执行之后,文件script中的Lua程序被载入并执行。给出的args可作为arg命名的全局表中的字符串为script所用。如果这些参数含有空白或其他对shell来说特殊的字符,那么它们应该被引用(但要注意,引号将被shell移除)。arg中的参数起始于0——它包含字符串“script”。最后一个参数的索引存储在arg.n中。命令行中,在script之前给出的参数,包括解释器名,在arg中可通过负数索引引用。

在真正开始、甚至是处理命令行之前,如果定义了环境变量LUA_INITlua会先执行它的内容。如果LUA_INIT的值是“@filename”的形式,那么filename会被执行。否则,该字符串作为一条Lua语句执行。

选项以“-”开始,在下面说明。你可用“--”告知选项结束。

如果没有给出参数,那么当标准输入是终端时则假定使用“-v -i”;否则会假定使用“-”

在交互模式下,lua提示用户,从标准输入读入数据行并在读入时执行它们。如果一行不包含完整的语句,则显示二级提示符并读入数据行直到形成完整的语句或发现语法错误。所以,一种中断未完成语句的读取的方式是强加一个语法错误:在语句中间加入“;”是种强加语法错误的可靠方式(除了在多行字符串和注释的内部之外;这些必须被显式地关闭)。如果某行以“=”开始,则lua显示行内剩余部分的所有表达式的值。这些表达式必须用逗号分隔。如果全局变量_PROMPT的值是字符串,就以该值为主要提示符;否则,使用缺省提示符。类似地,二级提示符是全局变量_PROMPT2的值。所以,要改变提示符,设置相应的变量为你选择的字符串。你可以在调用解释器后或在命令行上(但是此时如果提示符字符串含有空白,则必须注意引用;否则会弄乱shell)那么做。缺省的提示符是“>”和“>>”。

选项

- 将标准输入作为文件载入并执行,即非交互的,即使当标准输入为终端也是如此。

-e stat 执行语句stat。如果stat含有空白、引号或其他对shell来说特殊的字符,你需要给它加引号。

-iscript被执行之后进入交互模式。

-l name 在执行script之前调用require('name')。典型的用法是加载库。

-v 显示版本信息。

参阅

luac(1)
http://www.lua.org/

诊断信息

错误消息应是自解释的。

作者

R. Ierusalimschy, L. H. de Figueiredo, and W. Celes