Lua密钥名称以表语句中的数字开头

时间:2012-04-01 04:54:49

标签: lua

当键名以digit开头时,在javascript中我们可以像这样定义类似数组的对象:

var table = {
    '123.com': 'details'
    '456.net': 'info'
}

但是当我在Lua5.1中尝试这些代码时:

table = { '123.com' = 'info' }

它会抛出错误:

[string "local"]:1: '}' expected near '='

但是这些代码在lua中被接受:

table = {}
table['123.com'] = 'info'

我想知道它是否是Lua5.1中的错误。或者我错过了什么?

1 个答案:

答案 0 :(得分:7)

使用文字表构造函数创建Lua表时,非标识符表索引应括在方括号中。例如:

table = { ['123.com'] = 'info' }

(来自:http://www.lua.org/pil/3.6.html