據(jù)結(jié)構(gòu)結(jié)構(gòu)定義,
lua只有一種數(shù)據(jù)結(jié)構(gòu),真是太好了,以前學(xué)習(xí)數(shù)組啊,結(jié)構(gòu)啊,類(lèi)啊,再加上以后的vector,map啊,頭都搞大了,
看個(gè)例子,這個(gè)就是lua學(xué)習(xí)的最基本的一個(gè)例子。
myData =
{}
--如果不要這句恐怕不行
myData[0] = “foo”
--在table中可以放置任意類(lèi)型數(shù)值。
myData[1] = 42
myData[“bar”] = “baz”
--還可以在[]中下標(biāo)為字符的,這個(gè)就像map了,
for key, value in myData do
--對(duì)table中的所有值遍歷
print(key .. “=“ ..
value) --打印table時(shí),要這樣寫(xiě)嗎?來(lái)2個(gè)點(diǎn)?
end
---
table的引用
如果
a = {}
a[“test”] = “test”
b=a
b就是a的引用,指向同一個(gè)內(nèi)存區(qū)
a=nil 實(shí)際好像就是把指針給釋放了,
內(nèi)存體還是沒(méi)有
b=nil 再也
指不到內(nèi)存區(qū)了,可見(jiàn),內(nèi)存區(qū)是自動(dòng)管理的,不需要自己去創(chuàng)建和釋放,拿來(lái)用就是。
----
table可以嵌套
mytable ={
close = “red“
{xpos = 0,
--這樣看去就像結(jié)構(gòu)了,
ypos = 0
}
}
---------------------
繼續(xù)看demo
function contact(t)
end
contact {
name = "kenlistian"
url = "http:\\www.shnenglu.com"
quote = [[
test
test
test
]]
contact{
}
剛看到這個(gè)代碼看不懂,稍微解釋一下,
[[。。。]] 表示多行字符串,(咳,麻煩)
function 咋和table在一起,這個(gè)函數(shù)好像通過(guò)多個(gè)contact達(dá)到保存
多條記錄的可能。
筆記記錄介紹到此。