解釋器文檔(lua.html)
---------------------------------------------------------
名字
lua - Lua 解釋器
概要
lua [ arguments ]
描述
lua 是獨立的 Lua 解釋器。它加載並執行 Lua 程序,程序可以是文本源代碼形式,或由 Lua 編譯器 luac 輸出的預編譯二進制形式。lua 可以用作批處理解釋器,也可用做交互式解釋。
參數可以是選項,賦值,文件名,它們從左到右按順序執行。
選項以中劃線 - 開始,描述如下。
一個賦值是一個形如 a=b 的參數,它把字符串 'b' 賦值給全局變量 a。注意,如果它沒有包含空格或者其它對於 shell 來說特殊的字符則不需要引號。這僅僅是為了方便。(一般來說,你應該注意當使用引號和空格在命令行上時,因為它們通常會由 shell 處理。)
如果參數既不是選項也不是賦值,那麼它將被認為是一個文件名,然後被加載並執行。
如果沒有給出任何參數,且標准輸入是一個終端就認為是 "-v -i" 。否則,認為是 -。
選項
- 把標准輸入作為文件加載,也就是說,不是交互式地,即使標准輸入是一個終端。
-c 退出前關閉 Lua。
-e“stat”執行語句 stat。你需要用引號把它括起來,如果它包含空格或引號的話。
-f "file" 把所有剩余的參數作為字符串收集到名為 arg 的全局表中,並執行 file。在 arg 中的參數從 0 開始,它包含字符串 'file'。最後一個參數的索引保存在 "arg.n" 中。
-i 進入交互模式,顯示一個提示符。在這種模式下,lua 從標准輸入中讀取行並執行他們。每一行必須包含一個完整的句子。為使一個句子跨越多行,可以每行的末尾加反斜線 '\e'。顯示的提示符是全局變量 _PROMPT 的值,如果這個值是一個字符串。所以,為改變提示符,可以把 _PROMPT 設置為一個你選擇的字符串。你可以在調用解釋器之後做這件事,或者例如可以在命令行上這樣寫 "_PROMPT=\'lua: \'"(注意,需要加引號,因為字符串包含一個空格。)。默認的提示符是 ">"。
-q 進入交互模式,但不顯示一個提示符。
-sn 設置棧的大小為 n。如果存在,這必須是第一個選項。注意 n 和 -s 在同一個參數中。例如,為了設置一個棧的大小為 2000,可以使用 -s2000。
-v 輸出版本信息。
另請參閱
luac(1)
http://www.tecgraf.puc-rio.br/lua/
診斷
錯誤消息應該是自描述的。
作者
R. Ierusalimschy, L. H. de Figueiredo, and W. Celes ([email protected])
----------------------------------------
這個客戶端是個簡單的
它可以從命令行通過文件名加載可執行的文件,也可以從標准輸入加載可執行的文本行。
注意,如果是後一種情況,每一行必須包含一個完成的語句。
例如,函數不可以跨行。
---------------------------------------------------------
lua 的 readme 自述文件
這是 lua,一個簡單的 lua 解釋器。
它可以被用來做為一個批處理解釋器或者也可以交互使用。
它的幫助手冊有 nroff 和 ../../doc 目錄中的 html 文件。
這裡是一些它可以識別的選項:
- 把標准輸入作為一個文件執行
-c 退出前關閉 Lua
-e stat 執行字符串 `stat'
-f name 執行文件 `name' 並把剩余的參數放在表 `arg'
-i 進入交互模式,有提示符
-q 進入交互模式,沒有提示符
-sNUM 設置棧的大小為 NUM (必須是第一個選項)
-v 輸出版本信息
a=b 設置全局變量 `a' 為字符串 `b'
name 執行文件 `name'
如果沒有給出選項,它從標准輸入中讀取行並執行他們。所以,每一行必須包含一個完整的句子。為使一個句子跨越多行,可以每行的末尾加反斜線 '\'。
為改變提示符,可以把 _PROMPT 設置為任何你想要的值。你可以在調用解釋器之後做這件事,或者例如可以在命令行上這樣寫 lua _PROMPT="lua: " -i
注意,在這種情況下你需要 "-i" 。
你必須注意當使用引號在命令行上時,因為它們通常會由 shell 處理。
當把 Lua 作為一個獨立的語言使用時,這個解釋器很好。
如果需要一個最小的解釋器,參見 ../../etc/min.c.
如果你的應用程序需要簡單的導出新的函數給 Lua (這是很常見的場景),那麼你可以直接使用這個解釋器(基本上不用修改),如下:
首先,定義一個函數
void myinit (lua_State *L)
在你自己的代碼中。在這個函數中,你應該做任何你的應用程序需要的初始化操作,把你的程序導出給 Lua。
然後,在 lua.c 中添加一個調用,在標記
"add your libraries here"
的位置之後。
當然,你可以使用任何名字替代 "myinit"。
Lua 語言 15 分鐘快速入門 http://www.linuxidc.com/Linux/2013-06/86582.htm
Lua程序設計(第2版)中文 PDF http://www.linuxidc.com/Linux/2013-03/81833.htm
Lua程序設計(第二版)閱讀筆記 http://www.linuxidc.com/Linux/2013-03/81834.htm
NetBSD 將支持用 Lua 腳本開發內核組件 http://www.linuxidc.com/Linux/2013-02/79527.htm
CentOS 編譯安裝 Lua LuaSocket http://www.linuxidc.com/Linux/2011-08/41105.htm
Programming In Lua 高清PDF中文版 http://www.linuxidc.com/Linux/2015-05/117362.htm
Lua 的詳細介紹:請點這裡
Lua 的下載地址:請點這裡