function f1() return 1 end function f2() return 1,2 end t = {f1(),f2()} print(unpack(t)) --1,1,2 t2 = {f1(),f2(),5} print(unpack(t2)) --1,1,5 t3 = {f1(),f2(),f2(),f2()} print(unpack(t3)) --1,1,1,1,2
可以看出当用function的返回值来构造table时,table前面function只会用到第一个返回值,之后table最后一个元素且是函数的函数会返回所有的返回值