2012-04-01 90 views
1

当密钥名称与数字,在JavaScript中,我们可以定义阵列状物体像这样开始:Lua的关键名称以数字开头的表声明

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中的一个bug。还是我错过了什么?

回答

7

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

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

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