尝试这样的事情:
def count_words_without_loops(string)
res = Hash.new(0)
string.downcase.scan(/\w+/).map{|word| res[word] = string.downcase.scan(/\b#{word}\b/).size}
return res
end
Run Code Online (Sandbox Code Playgroud)
h = Hash.new(0)
"Today is a day, a sunrise".scan(/\w+/) do |w|
h[w] += 1
end
p h # {"Today"=>1, "is"=>1, "a"=>2, "day"=>1, "sunrise"=>1}
Run Code Online (Sandbox Code Playgroud)