Tôi có một hàm băm trong đó tôi muốn sử dụng các giá trị như các khóa trong một Hash mới có chứa số lần mục đó xuất hiện dưới dạng giá trị trong băm gốc.Phương pháp "đếm" Ruby cho băm
Vì vậy, tôi sử dụng:
hashA.keys.each do |i|
puts hashA[i]
end
đầu ra Ví dụ:
0
1
1
2
0
1
1
Và tôi muốn các Hash mới được như sau:
{ 0 => 2, 1 => 4, 2 => 1 }
có thể trùng lặp của [Cách đếm các phần tử chuỗi giống hệt nhau trong một mảng Ruby] (http://stackoverflow.com/questions/5128200/how-to-count-identical-string-elements-in-a-ruby -mảng). Cấu trúc dữ liệu gốc trong câu hỏi này là một băm, nhưng bạn đang vứt bỏ các khóa, vì vậy bạn đang giao dịch hiệu quả với 'hashA.values', là một mảng. –
@AndrewGrimm Meh; cuối cùng (và nhanh chóng), vâng ... Nhưng khi tìm kiếm với tư duy "Tôi có một bản đồ", bạn có thể sẽ không tìm kiếm nội dung về mảng. –