在lua中传递没有括号的表给出错误

use*_*521 4 lua lua-table

下面给出了'人'附近的错误'语法错误,即使在常见问题解答(http://www.luafaq.org/)中它的统计数据:"因此它巧妙地使用Lua将接受单个函数参数而不带括号的事实参数是一个字符串或表"

function class(cls)
   return cls
end

Person = {}

class Person

print(Person)
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?如果我将类Person更改为类"Person"它可以工作,但faq统计它应该适用于字符串和表.

Yu *_*Hao 5

只有一个参数时,只能省略括号,并且参数是字符串文字或表构造函数.

在你的榜样,语法,你可以打电话class 'foo'或者class {},但没有class Person,因为Person是一个变量,而不是一个表的构造.

  • 好有意思啊 FAQ没有说表构造函数,只是表.那真是太糟糕了.谢谢. (2认同)