當試圖找到在「夢幻般的」我無法理解給定的解決方案字母頻率:頻率在字符串中的字母
def letter_count(str)
counts = {}
str.each_char do |char|
next if char == " "
counts[char] = 0 unless counts.include?(char)
counts[char] += 1
end
counts
end
我試圖解構它,當我創建了下面的一段代碼我希望它做同樣的事情。但它給了我不同的結果。
blah = {}
x = 'fantastic'
x.each_char do |char|
next if char == " "
blah[char] = 0
unless
blah.include?(char)
blah[char] += 1
end
blah
end
的第一段代碼給我下面的
puts letter_count('fantastic')
>
{"f"=>1, "a"=>2, "n"=>1, "t"=>2, "s"=>1, "i"=>1, "c"=>1}
爲什麼代碼的第二件讓我
puts blah
>
{"f"=>0, "a"=>0, "n"=>0, "t"=>0, "s"=>0, "i"=>0, "c"=>0}
有人能打破的代碼片段,並告訴我根本的區別是什麼。我想,一旦我明白了這一點,我就能夠真正理解第一段代碼。另外如果你想解釋一下關於幫助我的第一段代碼,那也會很棒。