Re: [問題] Lua在函數中產生資料與讀取問題

看板Programming作者 (Bird)時間16年前 (2008/02/10 00:54), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串6/9 (看更多)
※ 引述《oohay (五黑)》之銘言: : 其實我在做這件事情: 把一個外部變數x丟給某個函式,讓函式幫x產生新內容. : 不過以下方法全都產生foo, 所以我說看到鬼! : 在寫程式過程中,也做過很多假設,假設函式外的物件行為如何,假設函式內的物件 : 又是產生新實體或不產生新實體. 我試著釐清一下你的盲點 1.Lua的Table Literal會產生新的實體 (例如 a = {1,2} ) refer to http://www.lua.org/pil/2.5.html Java的Array也是 Ruby的Array, Python的List亦然 2.把Table當作Array使用 預設的index是從1開始 但是也可以從任何其他數值開始 refer to http://www.lua.org/pil/11.1.html : 至於說明書,當然不是沒看囉! 但是看過了,寫出來仍然與預期不符合! : function a(y) : table.insert(y, {1, 2}) : end : function b(z) : z = {1, 2} : end : x = {} : if x[0] ~= nil then : print(x[0][1] .. x[0][2]) : else : print("foo") : end 當然是foo : a(x) : if x[0] ~= nil then : print(x[0][1] .. x[0][2]) : else : print("foo") : end 上述第二項 預設index從1開始 : x = {} : b(x) : if x[0] ~= nil then : print(x[0][1] .. x[0][2]) : else : print("foo") : end 上述第一項 b(x)會產生新的實體 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.193.35.97
文章代碼(AID): #17hThXhq (Programming)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 6 之 9 篇):
文章代碼(AID): #17hThXhq (Programming)