哈希和价值观

时间:2015-07-31 13:28:26

标签: ruby regex

我遇到了这个Ruby脚本:

frequency = Hash.new(0)
...
...
file.read.downcase.scan(/\b[a-z]{4,20}\b/){|word| frequency[word] =
frequency[word]+1}

我无法理解的是frequency[word] = frequency[word]+1

frequency[word]不会给我匹配的字吗?我们如何将其添加到1

1 个答案:

答案 0 :(得分:6)

frequency被定义为默认值为0的哈希值。因此,当frequency[word]为其返回0之前未记录的word调用时。{/ p>

代码似乎计算了文本中的不同单词。

完成后,frequency将包含单词作为键,以及特定单词在句子中显示为值的次数。

您可以在此处播放:http://rubyfiddle.com/riddles/519da