我如何运行计算机技术程序,如挖掘5'

时间:2014-12-19 15:11:25

标签: lua minecraft computercraft

有人可以告诉我这个命令,所以我可以制作如下节目:

'程序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

我认为如果我可以'向右扫描'而不是'扫描''对',代码会更酷

1 个答案:

答案 0 :(得分:8)

听起来您正在询问如何访问传递到您的计算机程序中的参数和参数。从我在interweb上可以找到的内容,从计算机技术提示传入的参数被收集到最外层范围内用...表示的可变参数列表中。

这可能意味着计算机技术脚本以与任何vanilla lua脚本相同的方式访问该参数列表。例如,

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

这将获取传递的前三个参数,arg1获取第一个参数,arg2获取第二个参数,依此类推。如果小于3,则额外的相应 argn 将为nil

使用传递的任意数量的参数,只需使用表包装可变参数列表。例如

local inputs = {...}

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