2012-04-01 92 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