我遇到了这个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
?
答案 0 :(得分:6)
frequency
被定义为默认值为0
的哈希值。因此,当frequency[word]
为其返回0之前未记录的word
调用时。{/ p>
代码似乎计算了文本中的不同单词。
完成后,frequency
将包含单词作为键,以及特定单词在句子中显示为值的次数。
您可以在此处播放:http://rubyfiddle.com/riddles/519da