6

有人可以告诉我命令,这样我就可以制作如下程序:

'program 19' 或
'build house 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

我认为如果我可以“扫描正确”而不是“扫描”“正确”,代码会更酷

4

1 回答 1

11

听起来您在问如何访问传递给您的计算机程序的参数和参数。从我在互联网上可以找到的内容来看,从计算机提示符传入的参数被收集到一个可变参数列表中,...在最外层范围上用 表示。

这可能意味着 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
于 2014-12-19T22:16:35.800 回答