2012-03-19 46 views
3

我有一個LUA CLI這需要在LUA命令傳遞參數給LUA文件,如何我現在在這裏通過LUA CLI

像這樣的東西 (LUA)>#

序到執行LUA文件我運行命令

(LUA)>#dofile處理(「a.lua」)

我希望有一個命令,將執行該文件,並傳遞一個參數傳遞給它。

現在,我想傳遞一個參數給「a.lua」文件,它將接受這個參數並調用一個更多的lua文件,並根據參數調用第二個lua文件,所以我需要解析這個說法。

請問,有人可以告訴我有關將在a.lua中使用的解析命令。我的意思是用什麼函數來解析它。

請問,有人可以告訴我如何傳遞參數到這個文件「a.lua」。

+1

與http://stackoverflow.com/questions/9744693/how-can-i-pass-parameters-to-a-lua-file-when-loading-it-from-another-lua-file非常密切相關if不是重複的... – lhf 2012-03-19 22:10:53

回答

11

現在這裏序執行LUA文件我運行命令

這通常不是你如何執行的Lua文件。通常,如果您有一些Lua腳本,則可以使用以下命令執行它:lua a.lua。您不要輸入lua,然後使用那裏的接口執行它。

使用合適的命令行執行腳本,可以將字符串參數傳遞給文件:lua a.lua someParam "Param with spaces"。然後a.lua腳本可以使用標準的Lua ...機械獲取這些參數:

local params = {...} 
params[1] -- first parameter, if any. 
params[2] -- second parameter, if any. 
#params -- number of parameters. 

但是,如果你堅持嘗試執行此使用調用解釋器(帶lua),並通過鍵入命令其中的一個方法一個,那麼你可以這樣做:

> GlobalVariable = assert(loadfile(`a.lua`)) 
> GlobalVariable(--[[Insert parameters here]]) 

但是,如果你不想做的兩個步驟,與中間全局變量,你可以做一個:

> assert(loadfile(`a.lua`))(--[[Insert parameters here]]) 
+0

非常感謝....你真棒... – Invictus 2012-03-19 22:32:01