【发布时间】:2014-12-14 05:20:20
【问题描述】:
我有以下unpack()函数:
function unpack(t, i)
i = i or 1
if t[i] then
return t[i], unpack(t, i + 1)
end
end
我现在在下面的测试代码中使用它:
t = {"one", "two", "three"}
print (unpack(t))
print (type(unpack(t)))
print (string.find(unpack(t), "one"))
print (string.find(unpack(t), "two"))
哪个输出:
one two three
string
1 3
nil
让我疑惑的是最后一行,为什么结果是nil?
【问题讨论】:
-
如果不是最后一个尾随表达式,则多个返回值将被截断为第一个值。