将参数传递给Lua 4中的函数[重复]
Posted
技术标签:
【中文标题】将参数传递给Lua 4中的函数[重复]【英文标题】:Passing parameters to a function in Lua 4 [duplicate] 【发布时间】:2020-11-23 17:32:59 【问题描述】:我有一个函数可以接受任意数量的参数,然后用这些参数做一些事情。
例如,min(3,9,1,2)
或 min(2,1)
或 min(5,1,7)
。
但是,在 Lua 4 中,当我事先不知道会有多少 个参数时,如何从另一个例程中将参数提供给函数?也许我有一个包含一堆字符串的数组,但每次都是不同数量的字符串,我需要在得到任何结果之前将这些字符串作为参数传递给函数。
谢谢。
【问题讨论】:
糟糕,我七年前发布了同样的问题。 这个问题没有提到缺少call
功能,这是当时一种首选方法。这些问题是相似的,但这个问题的范围更广,并为该主题带来了更多的东西。即使最初的意图是相同的,我建议在其范围内解决这个问题并将其留作将来参考(并且只是为了将来更好的搜索结果)。
【参考方案1】:
我会填充一个表格,然后使用call
:
a = n = 2; arg1, arg2
tinsert(a, arg3)
call(func, a)
简而言之,call
将表的数组部分作为参数应用到函数:
call(func, a) --> func(a[1], a[2], ..., a[n])
祝 4.0 好运!好久没看到那个了。
【讨论】:
以上是关于将参数传递给Lua 4中的函数[重复]的主要内容,如果未能解决你的问题,请参考以下文章
在LUA中-在_G中找到了“函数”类型的变量,如何将参数传递给它