【发布时间】:2017-07-16 00:55:48
【问题描述】:
我最近看到了一种新方法,至少对我来说,它可以在 Lua 中调用函数,那就是使用花括号 {},如果参数是表的话。以这个函数为例来说明我要检查的内容:
function test(table)
for _, i in pairs(table) do
print(i);
end
end
test{"What", "is", "the", "difference?"};
在调用函数test()时,我们使用了大括号“{}”而不是普通的大括号“()”。
所以我的问题是,这两者有什么区别?哪个性能更好?我什么时候应该使用一种而不是另一种?为什么在普通牙套完成工作时会创建这样的方式?
【问题讨论】:
-
除了你得到的答案之外,test{} 不等同于 test()。 Test 有一个参数(表),传递多个参数将忽略其余参数,而 {} 创建一个表作为包含所有值的单个对象。因此,test {1,2,3} 与 test(1,2,3) 不同。