2010-10-05 5 views
0

Я пытаюсь построить хэш из массива. В основном я хочу взять уникальные строковые значения массива и построить хеш с ключом. Я также пытаюсь понять, как записывать, сколько раз это уникальное слово происходит.Как сгенерировать хэш из массива

#The text from the .txt file: 

    # **Bob and George are great! George and Sam are great. 
    #Bob, George, and sam are great!** 

    #The source code: 
    count_my_rows = File.readlines("bob.txt") 
    row_text = count_my_rows.join 

    puts row_text.split.uniq #testing to make sure array is getting filled 

В любом случае я попытался http://ruby-doc.org/core/classes/Hash.html

Я думаю, что нужно объявить пустой хэш с name.new для начала я понятия не имею, как заполнить его, хотя. Я предполагаю, что итерация через массив заполняет хеш. Я начинаю думать, что мне нужно записать значение в виде отдельного массива, сохраняющего время его появления, и слово затем назначает ему хэш-ключ.
Пример = {["Боб", 2] => 1, ["Джордж", 3], => 2}
Оставьте некоторый код, чтобы я мог обдумать его.

ответ

1

Для начала,

h={} 
h.default=0 
File.read("myfile").split.each do |x| 
    h[x]+=1 
end 
p h 

Примечание: это не полное решение

Смежные вопросы