2014-12-19 56 views
4

有人可以告訴我的命令,所以我可以作出這樣的程序:如何運行像computercraft程序「挖掘5」

「計劃19」或
「建房5 3 10」

而不必依靠input = read()

我一直在狩獵這件事,直到現在還沒有發現它,所以如果有人能告訴我,如果沒有人可以,那就好了,謝謝你的時間。

由於該網站不會讓我發佈這個問題,除非我有一些東西來幫助解決這個問題,否則就把一個代碼當作使用read方法來使用它。

input = read() 
if input == "right" then 
    for k, v in ipairs(peripheral.getMethods(input)) do 
    print(k,", ",v) 
    end 

我認爲代碼將是冷卻器,如果我能做到「掃描的右」而不是「掃描」「右」

+0

你可能想看看[dwim.exe(http://en.wikipedia.org/wiki/DWIM) –

+1

如何將我使用DWIM的computercraft程序?如果當然它的意思是:P –

+0

我不明白這裏的問題。你想要做什麼而不是'input = read()'? –

回答

8

這聽起來像你問如何訪問傳入參數和參數的電腦程序。根據我在interweb上可以找到的,從計算機提示傳入的參數被收集到最外層範圍內用...表示的可變參數列表中。

這可能意味着computercraft腳本訪問該參數列表的方式與任何vanilla lua腳本相同。例如,

local arg1, arg2, arg3 = ... 
print(arg1, arg2, arg3) 

這會搶前三個參數與arg1採取的第一個參數,arg2拍攝第二等傳遞英寸如果少於三個給定額外的相應argn將是nil

要處理傳入的任意數量的參數,只需將可變參數列表與表格一起包裝即可。例如。

local inputs = {...} 

print(select('#', ...) .. " arguments received:") 
for i, v in ipairs(inputs) do 
    print(i, ",", v) 
end