[問題] 神隱的method(已解決)

看板Ruby作者 (朔雪)時間11年前 (2013/10/31 20:53), 編輯推噓0(005)
留言5則, 3人參與, 最新討論串1/1
第一次發文還請多多指教 如果我在block外呼叫某個函式是正常的 可是當進到block中(for each ... )這個函式就神隱了 如果我在block 中把method print出來是存在的 可是呼叫就會噴出NoMethodError 也是過用send了 啊對 那個函式是Qt的函式 用qtbinding弄上去的 @ui.chooseCB.addItem("Plaese choose one") # 這裡是正常的 @rate.each.each_with_object(@ui.chooseCB) {|x, obj| obj.addItem("#{x.rate}p #{x.format}", x) # 這裡會噴錯 } 還有這個寫法很蠢我知道 可是我已經試過我想的到的所有方法了 這個是在class中的一部份 如果要完整的我再PO上來 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.101.139 ※ 編輯: dododavid006 來自: 140.123.101.139 (10/31 21:03)

11/01 01:16, , 1F
你在函式內 放下binding.pry看看 我猜是obj變成nil了
11/01 01:16, 1F

11/01 01:36, , 2F
可以講詳細點嗎
11/01 01:36, 2F

11/01 12:18, , 3F
1樓的意思是裝pry,用binding.pry,會進入類似irb的環境
11/01 12:18, 3F

11/01 12:18, , 4F
然後看看obj的值
11/01 12:18, 4F

11/01 12:19, , 5F
執行到binding.pry會進入irb,所以可以看當時的obj
11/01 12:19, 5F
像Debuger那樣的東西嗎 等下來試試 謝謝 然後再補充一些東西和我今天試的東西 我是不知道為什麼會這樣 不過在噴錯的時後是有說那個物件沒有這個method 物件確定是我要的 因為這原本是Qt的函式我有說過 所以今天有想過是不是qtbindings出問題就重裝過結果還是一樣 以下算是重點 然後我又從網頁上載了相關的example來跑跑看 是正常的 但它沒有像我這樣用到block 於是我給它加上了for也去呼叫了同一個函式 更神奇的是還是正常 之後我又試了加上第二個參數 (Qt原本那個函式是有兩個參數的 只是第二個有default) 該說終於出現我要的東西了嗎 它也噴了一樣的錯誤 所以我在想 可能不是block的問題 而是第二個參數的問題 可是那個參數很重要啊 ※ 編輯: dododavid006 來自: 140.123.101.139 (11/01 15:04) 我被忽視了嗎 有點難過啊XD 剛好我試出來了 問題還真的是第二個參數 不過因為它一直都是噴NoMethodError所以我一直誤會了 好像是因為參數類型不對就這樣了 所以 謝謝 ※ 編輯: dododavid006 來自: 113.61.208.17 (11/03 08:17) ※ 編輯: dododavid006 來自: 113.61.208.17 (11/03 08:18)
文章代碼(AID): #1ISbBTFE (Ruby)
文章代碼(AID): #1ISbBTFE (Ruby)