如何创建一个将所有参数传递给另一个函数的函数

我正在尝试为我玩耍的程序设置一些函数,用于监控我的Extreme Reactors Turbine (之前大反应堆)。 我试图做的大部分功能都很简单,但可以使我免于将某些代码块排列一百次。

基本上,我想能够停止使用mon.setCursorPos(x, y),其中xy是精确轴 (例如,mon.setCursorPos(1,9)),并用更简单的东西替换它,比如cursor(1,9)。 问题是我不太确定如何设置该功能...

function cursor() 
 mon.setCursorPos() 
end 

上述代码将无法正确工作,由于在“setCursorPos”api调用的括号()中缺少字符串值,因此会出现错误。 我还很新手LUA,老实说不是一个很好的编码人员,但是努力学习不那么凌乱并在不必要的地方绘制出事物。 感谢任何帮助/提示,愉快的编码给所有人!

点赞
用户9383219
用户9383219

为了将参数传递下去,首先需要在自己的“包装器”函数(这里是x和y)中定义它们:

function cursor(x, y)
    mon.setCursorPos(x, y)
end

如果你不知道有多少参数,可以使用varargs语法“...”捕获参数,并将它们传递给“mon.setCursorPos”:

function cursor(...)
    mon.setCursorPos(...)
end

但更简单的方法是只需要做这个:

cursor = mon.setCursorPos

这样,cursor将简单地指向与mon.setCursorPos相同的函数。

2018-11-27 00:58:09