lua中,in pairs的循環的順序問題
用pairs就是沒順序,隨機的,跟k的哈希值有點關系。
t={1,2,3,4,5,6,7,8,9}--必須是這樣的table,元素必須要要用*插入,用ipairs遍歷,這種table相當于t[1]=1,t[2]=2。t[9]=9,如果后面有個t[11]=11,那么用ipairs就遍歷不到。
原因是table里面分兩部分,數組和hash表,t[1],t[2]等連續的是相當于數組部分,不連續的索引都放hash表里了,順序不一定。 str = "" for i,v in ipairs(t) do str = str..v.."," endprint(str)。
Lua語言中的"."和":"有什么不同
:是個語法糖,調用的函數會自動傳遞參數self
即
local a = {x = 0}
function *(self, a)
self.x = a
end
function a:foo2(a)
self.x = a
end
--調用時:
*(a, 2)
*2(2)
上述兩個操作是等價的,用:時就省去了定義和調用時需要額外添加self用來指代自身的麻煩
用cocos2d么,cc是cocos2d庫的對象名稱