@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
При попытке вызвать convert_to_seconds внутри longest_possible я получаю следующее сообщение об ошибке:Как вызвать определенный метод внутри другого определения
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, игнорируйте функциональность второй функции, я еще не получил ее, только что опубликовал.
Попробуйте изменить метод 'четкости convert_to_secs (а)' и вызова 'х = convert_to_secs (HSH [: воспроизведение])'. –