0
@songs = [{artist: 'Artist', title: 'Title String', playback: '04:30'} etc]
def convert_to_secs
a = str.split(':').map!{|x| x.to_i}
return (a[0] * 60) + a[1]
end
def longest_possible(playback)
@songs.select do |hsh|
x = hsh[:playback].convert_to_secs
end
return x
end
內當試圖調用內部longest_possible convert_to_seconds我得到以下錯誤:如何調用一個方法定義的另一個定義
longest_possible.rb:5:in `block in longest_possible': private method
`convert_to_secs' called for "04:30":String (NoMethodError)
from longest_possible.rb:4:in `select'
from longest_possible.rb:4:in `longest_possible'
from longest_possible.rb:15:in `<main>'
我不知道如果我的問題可以用範圍運營商來解決,或者這是否需要與課程相關的東西(而不是我已經涉及到的東西)。請您指出我正確的方向嗎? PS,忽略第二個函數的功能,我還沒有開始做,但只是張貼例如。
嘗試改變你的方法到'def convert_to_secs(a)'和調用'x = convert_to_secs(hsh [:playback])''。 –