1

我有一个函数可以接受任意数量的参数,然后用这些参数做一些事情。

例如,min(3,9,1,2)min(2,1)min(5,1,7)

但是,在 Lua 4 中,当我事先不知道会有多少参数时,如何从另一个例程中将参数提供给函数?也许我有一个包含一堆字符串的数组,但每次都是不同数量的字符串,我需要在得到任何结果之前将这些字符串作为参数传递给函数。

谢谢。

4

1 回答 1

3

我会填充一个表,然后使用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好运!好久没看到那个了

于 2020-08-03T18:24:08.900 回答