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

Passing table without parentheses in lua giving error

尽管在常见问题解答 (http://www.luafaq.org/) 中它统计:"so it cleverly uses the fact that Lua will accept single function arguments without parentheses if the argument is a string or a table"

,但以下内容在 'Person' 附近给了我一个错误“语法错误”
function class(cls)
   return cls
end

Person = {}

class Person

print(Person)

我在这里错过了什么?如果我将 class Person 更改为 class "Person" 它可以工作,但常见问题统计它应该适用于字符串和表格。

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

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