在 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 ]构造函数。
尽管在常见问题解答 (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 ]构造函数。