文字列の単語頻度をキーとして、頻度を値として格納しているハッシュがRubyにあります。
words = a_string.split(/ /)
freqs = Hash.new(0)
words.each { |word| freqs[word] += 1 }
freqs = freqs.sort_by {|x,y| y }
freqs.reverse!
freqs.each do |word, freq|
puts word+' '+freq.to_s
end
ハッシュイテレータがランダムな順序でハッシュを返すことを読みましたが、これは今のところ機能しているようです。
ここで、最も頻繁に使用される20個の単語のみを含むようにハッシュを頻度設定する必要があります。これどうやってするの?読んでくれてありがとう。