次のコードでは1
2
から"seven"
変更の値:Ruby - なぜ+ =文字列の数が増えますか?
word_counts = Hash.new(0)
sample = "If seven maids with seven mops"
sample.split.each do |word|
word_counts[word.downcase] += 1
puts word_counts
end
が出力:それは1
から2
に行った理由
{}
{"if"=>1}
{"if"=>1, "seven"=>1}
{"if"=>1, "seven"=>1, "maids"=>1}
{"if"=>1, "seven"=>1, "maids"=>1, "with"=>1}
{"if"=>1, "seven"=>2, "maids"=>1, "with"=>1}
{"if"=>1, "seven"=>2, "maids"=>1, "with"=>1, "mops"=>1}
は、誰かが説明できますか? OK
'+ = '演算子は何をしていますか? – Ryan
'sample ="で試してみてください。何か気づく? –
大丈夫、私は超愚かです、私は文字列に2つの "sevens"があったことを読んでいないと思います。私は最初の文字列がすべて一意であると仮定してコードの残りの部分を調べました。ありがとうございました –