看板 Ruby 關於我們 聯絡資訊
第一次發文還請多多指教 如果我在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)
lTERRAl:你在函式內 放下binding.pry看看 我猜是obj變成nil了 11/01 01:16
dododavid006:可以講詳細點嗎 11/01 01:36
mars90226:1樓的意思是裝pry,用binding.pry,會進入類似irb的環境 11/01 12:18
mars90226:然後看看obj的值 11/01 12:18
mars90226:執行到binding.pry會進入irb,所以可以看當時的obj 11/01 12:19
像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)