「プログラミング ruby 1.9」から ruby を学んでいます。ruby-debug の使い方を学んでいるので、下で何が起こっているのか理解できます。ruby-debug19 などを統合しているため、私は rubymine を使用しています (gem がないと表示され、インストールされます)。これが質問です。コードをステップ実行して、変数とスタックを調べることができました。ただし、に達するとfor i in 0...5
、デバッガーは次のように言います
スタック フレームは利用できません
ruby が for ループをあまり使用しないことは知っていますが、for ループを介したデバッグがあるかどうかを知りたいです。
コード:
raw_text = %{
The problem breaks down into two parts. First, given some text as a
string, return a list of words. That sounds like an array. Then, build a
count for each distinct word. That sounds like a use for a hash---we can
index it with the word and use the corresponding entry to keep a count.}
word_list = words_from_string(raw_text)
counts = count_frequency(word_list)
sorted = counts.sort_by {|word, count| count}
top_five = sorted.last(5)
for i in 0...5 # (this is ugly code--read on
word = top_five[i][0] # for a better version)
count = top_five[i][1]
puts "#{word}: #{count}"
end