3

割り当て手順: http://pastebin.com/pxJS4gfR

目的:ドキュメントのコレクションを取得し、その逆索引を生成します。

私の計画

  1. コレクションファイルから関連する文字列を取得します
  2. それらをトークン化し、後で使用するためにハッシュに配置します。

ここに示すように、次の正規表現を使用して\.I(.*?)\.B\m、コレクション ファイルから必要なテキストを取得しています: http://rubular.com/r/mOpfuvRT12

編集:私はmudasobwaの提案を使用しました

content = File.read('test.txt')
# deal with content
content.scan(/\.T(.*?)\.B/m) { |mtch| 
  puts mtch 
}

これは必要なテキストを取得しますが、取得したテキストを後で使用するためにハッシュに配置する必要がありString.scan/regex/、配列の配列を返すため、その操作方法がわかりません。

私は基本的にこの例を複製しようとしています:

puts "Enter something: "
text = gets.chomp
words = text.split(" ")
frequencies = Hash.new(0)
words.each do |word|
    frequencies[word] += 1
end
frequencies = frequencies.sort_by { |k, v| v }
frequencies.reverse!
frequencies.each do |word, freq|
    puts word + " " + freq.to_s
end
4

1 に答える 1