Итак, это всего лишь ответ на одну из практических проблем, над которыми я работаю, и я смущен тем, что происходит.Как этот хэш получает ключи?
Это в основном получение номера каждой буквы в str
(String
) и игнорирование пробелов.
Я получаю, что подсчет начинается как пустой хэш, но как он когда-либо получает буквы в виде ключей? counts[char] += 1
Я угадываю, как-то вводя ключ (буквы) и значение (количество повторов) в хэш?
def letter_count(str)
counts = Hash.new(0)
str.each_char do |char|
counts[char] += 1 unless char == " "
end
counts
end
В чем ваш вопрос? –
Извините, если я не понял. Я не понимаю, как подсчеты получают ключи. Я вижу, что значения каждого ключа изменяются с помощью + = 1, но как хэш получает буквы для использования в качестве ключей? – Jeff
Хеш может использовать все как ключ. Включая буквы (например, односимвольные строки). –