30/09/2018, 19:12
Sự khác nhau giữa Hash.new(0) and {} trong Ruby
Em có 2 đoạn mã này:
[4, 8, 15, 16, 23, 42].inject(Hash.new(0)) { |a, i| a.update(i => i) }
và
def occurrences(str)
str.scan(/w+/).inject(Hash.new(0)) do |build, word|
build[word.downcase] +=1
build
end
end
Nhưng chỉ ở phần 1 thì em thay thế Hash.new(0)
thành {}
thì không lỗi nhưng ở phần 2 thì lại lỗi. Giải thích giùm em ạ, em cảm ơn rất nhiều
Bài liên quan