2015年3月23日 星期一

[Corona SDK] Table 的基本用法

Lua的Table很特別,
它可以接受任何型態的資料,除了nil
而且這些型態是混放在同一個table裡,

它的index,也不限於用數字,
也是可以接受任何型態的資料,除了nil

要建一個table,需先用"{}"建立它,
用下面的例子做說明
display.setStatusBar( display.HiddenStatusBar )
t = {} --create a table
t = {he = "today"} --create a table with single property "he"
t[1] = 123
t[5] = "this is 5"
t[true] = 789
t["my"] = 456
t["you"] = "this is you"
display.newText( t[1], display.contentCenterX, 80, native.systemFont, 20 )
display.newText( t[5], display.contentCenterX, 100, native.systemFont, 20 )
display.newText( t["my"], display.contentCenterX, 120, native.systemFont, 20 )
display.newText( t["he"], display.contentCenterX, 140, native.systemFont, 20 )
display.newText( t.you, display.contentCenterX, 160, native.systemFont, 20 )
if(t[true] == 789) then
 display.newText( "this is 789", display.contentCenterX, 180, native.systemFont, 20 )
else
 display.newText( "this is NOT 789", display.contentCenterX, 180, native.systemFont, 20 )
end
要存取時,我們會用t[]的語法,
有一個比較特別的是,如果index是用字串的話,
那除了用t["name"]的方式,也可以用t.name
例如上面的13行的t.you,
不過,t["name"]的"name"如果是數字開頭,
例如t["5r"],那就不能用t.5r來存取,
需注意的是t[1]不能寫成t.1,t.1表示是t["1"],中間的差異要注意
上面的執行結果如下:

沒有留言:

張貼留言