2016-11-18 71 views
1

這似乎是合法的Lua語法:的Lua表語法

example = { ["dummy"] = "foobar"}

爲什麼你會用上面的,而不是簡單:

example = { dummy = "foobar"}

他們似乎功能上是一樣.. 。

+0

令人驚訝的是,我不能寫出,例如't = {in = 0,out = 1,err = 2}' –

+0

令人驚訝的是,你*無法寫入? @egorskriptunoff它看起來對我有效 – warspyking

+1

@warspyking'in'是一個關鍵字,所以它不能用作沒有括號的表字段名。 –

回答

1

因爲字段名稱不必是標識符:它們可以是任何字符串,包括具有空格的字符串,對於ins ,孟清湘。

第二個語句是有效的Lua語法,對於作爲標識符的字段名稱非常方便。

表鍵不一定是字符串:它們實際上可以是任何值(nil除外),並且表條目的[expr]=expr語法允許將任意表達式的值用作鍵。

+0

他們可以*除nil以外的任何*值嗎?我很確定還有一個。 – warspyking

+1

除零和南。 –