小智 6
表构造函数评估表1
=表构造函数中的"赋值"(符号)仅仅是用于初始化表中字段的语法 - 它们不是变量赋值.语法看起来与之类似=,但这只是表面上的相似之处:不要混淆两种不同的语法结构.
考虑一下Lua是否使用了与JavaScript相同的语法,那么它就是
t = {x: 2} -- invalid syntax, for argument
Run Code Online (Sandbox Code Playgroud)
并且它将是"清除",x: 2它不是变量赋值而是字段初始值设定项.当然,Lua语法规定它被写为t = {x = 2},但区别思想成立.有两种不同的结构,{x = 2}表构造函数不会导致副作用或变量赋值.
1如果不能分配表格供以后使用,那就没有多大意义了!由于只有表达式可以出现在赋值的右侧,因此表构造函数必须是表达式,因此结果表(它们是值)可以分配给变量(或传递给函数等).
还要注意Lua 与( C)之类的语言有更强的(赋值)语句和表达式分离.
| 归档时间: |
|
| 查看次数: |
117 次 |
| 最近记录: |