在lua中传递不带括号的表时出现给定错误
下面给出了“Person”附近的一个error“syntax error”,尽管它在faq()中统计:“因此,它巧妙地利用了这样一个事实,即如果参数是字符串或表,Lua将接受不带括号的单函数参数”在lua中传递不带括号的表时出现给定错误,lua,lua-table,Lua,Lua Table,下面给出了“Person”附近的一个error“syntax error”,尽管它在faq()中统计:“因此,它巧妙地利用了这样一个事实,即如果参数是字符串或表,Lua将接受不带括号的单函数参数” 我错过了什么?如果我将类Person更改为类“Person”,它可以工作,但faq统计数据应该同时适用于字符串和表。只有当只有一个参数,并且该参数是字符串文字或表构造函数时,才能省略括号 在您的示例中,从语法上讲,您可以调用class'foo'或class{},但不能调用class-Person,因为
我错过了什么?如果我将类Person更改为类“Person”,它可以工作,但faq统计数据应该同时适用于字符串和表。只有当只有一个参数,并且该参数是字符串文字或表构造函数时,才能省略括号
在您的示例中,从语法上讲,您可以调用
class'foo'
或class{}
,但不能调用class-Person
,因为Person
是一个变量,而不是表构造函数。。FAQ没有说表构造函数,只是说表。那真是个倒霉蛋。谢谢。@user441521,手册明确地说:args::=tableconstructor
at和。
function class(cls)
return cls
end
Person = {}
class Person
print(Person)