Lua 編程中的註解 |
|
2.4 - 為什麼連接 (..
) 是右結合的?請參閱 AssociativityOfConcatenation。
2.5 - 關於「關聯陣列不僅可以用數字索引,還可以字串或語言中的任何其他值索引,除了 nil
」;以及 27.3 - 頁 252 - 「註冊表是規則的 Lua 表格。因此,可以使用任何 Lua 值(除了 nil)為其編制索引。」NaN
也會失敗,請參閱 LuaList:2008-03/msg00603.html。
2.5 - #
和 table.maxn
的運算複雜度是多少?--DavidManura
#
的運算複雜度為 O(log Na)
,其中 Na
是表格的陣列部分的大小。table.maxn
為 O(N)
,其中 N
是表格的已分配總大小,因為必須檢查每個鍵。--RiciLake
27.3 - 頁 254 - 拼寫:register -> registry(「有利於環境而不是註冊」)
28.2 - luaL_newmetatable/luaL_getmetatable/luaL_checkudata
函式使用 C 字串作為註冊表的鍵。我比較喜歡直接為此使用輕量使用者資料或將元表儲存為上值(更有效率且錯誤更少)。我也避免將名稱傳遞給 luaL_register
,因為存在不必要的名稱衝突風險,而且這會將一個全域變數設定得與 LuaModuleFunctionCritiqued 中所批評的 module
函式非常相似。--DavidManura
(目前無)
(目前無)