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

看板Programming作者 (Bird)時間16年前 (2008/02/09 12:44), 編輯推噓2(209)
留言11則, 3人參與, 最新討論串2/9 (看更多)
為什麼裡面syntax錯那麼多.... ※ 引述《oohay (五黑)》之銘言: : function a() : a = () local a = {} lua的table明明是 {} 不是 () 在lua, function也是first-class object 你不加local a這個table會把原本的function蓋掉 : if a[0] == nil then : print("foo") : a[0] = () {} : b(a[0]) : if a[0] == nil then : print("foo") : else : print("ok") : end : c(a[0]) : else : print("ok") : end : end : function b(a) : a = (1, 2) { } <= 這樣也不對 你在function裡面把a的參考指向另一個{1, 2}的table 但原本的table還是沒有變.. 應該要 table.insert(a, 1) table.insert(a, 2) : end : function c(a) : if a == nil then : print("nil") : else : print("foo ") : print(a[0] .. a[1]) : end : end : a() : 以上, 從a函式丟一個變數a, 在b函式產生一對資料指派給此變數, 在c函式打算 : 做該變數的資料處理. : 但是印出的答案盡是foo foo foo, 果如其所說的what the fuck! : 印出訊息也是 "attempt to index local <variable-name>" : 我知道那是某個函數的local變數, : 可是一旦要取用, 我只想要它的值, 而不是它這個物件的參考!! 我完全沒看到這個錯誤訊息 你給的code有syntax error不能跑 我改一改就沒錯誤了 : 你這個白痴Lua一直給我參考到那個Local幹嘛? 不是已經結束函式了嗎? : 不是已經跳出scope外了嗎? 我寫一切都很正常啊 @@ 官方的programming guide有沒有看完一遍 為Lua平反一下,尿不準別怪馬桶歪 : 你不講我還真不知道,原來我很想取用一個local變數, : 直接告訴我在此區域看不見那個東西就好了,囉唆那麼多幹嘛? : 寫個Lua程式,架構大一點,隨機性多一點, 最後就因為這種attempt to index LOCAL : 而 *完全* 寫不下去. : 超爛的程式語言! 有點受不了這說法....覺得爛就別用吧 =.= 他的定位本來就是fast, light-weight, embeddable scripting language -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.193.35.97 ※ 編輯: yzugsr 來自: 123.193.35.97 (02/09 12:46)

02/09 12:53, , 1F
覺得爛+1 所以不用+1
02/09 12:53, 1F

02/09 13:11, , 2F
我是覺得Ruby, Python, Lua各有長處
02/09 13:11, 2F

02/09 13:12, , 3F
Lua好在他的輕量 (反過來說就是功能和
02/09 13:12, 3F

02/09 13:12, , 4F
syntax sugar少)
02/09 13:12, 4F

02/09 13:13, , 5F
我自己是喜歡寫Ruby勝過Lua的
02/09 13:13, 5F

02/09 13:14, , 6F
但我想也不用一昧否定Lua
02/09 13:14, 6F

02/09 14:42, , 7F
線上改打錯的,發瘋時{}()不分
02/09 14:42, 7F

02/09 14:43, , 8F
不過執行確認的版本倒沒錯
02/09 14:43, 8F

02/09 14:43, , 9F
睡醒之前腦中想到一個解決辦法,頓時覺得
02/09 14:43, 9F

02/09 14:44, , 10F
X! Lua超機車
02/09 14:44, 10F

02/09 14:45, , 11F
所謂解決辦法就是同一份程式在那邊複貼一份
02/09 14:45, 11F
文章代碼(AID): #17hI-wz6 (Programming)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 2 之 9 篇):
文章代碼(AID): #17hI-wz6 (Programming)