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

时间:2015-01-22 13:51:49

标签: lua lua-table

以下内容为我提供了一个错误'语法错误' Person'即使在faq(http://www.luafaq.org/)中它的统计数据:"所以它巧妙地使用Lua将接受单个函数参数但没有括号的事实,如果参数是一个字符串或一个表"

function class(cls)
   return cls
end

Person = {}

class Person

print(Person)

我在这里缺少什么?如果我将班级人员更改为班级"人员"它有效,但faq统计数据应该适用于字符串和表格。

1 个答案:

答案 0 :(得分:5)

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

在您的示例中,从语法上讲,您可以调用class 'foo'class {},但不能调用class Person,因为Person是变量,而不是表构造函数。