Tôi có lẽ đang thiếu một cái gì đó rõ ràng, nhưng có cách nào để truy cập chỉ số / số lần lặp bên trong băm mỗi vòng lặp không?
hash = {'three' => 'one', 'four' => 'two', 'one' => 'three'}
hash.each { |key, value|
# any way to know which iteration this is
# (without having to create a count variable)?
}
3
Anon: Không, hàm băm không được sắp xếp.
—
Mikael S
Các hàm băm không được sắp xếp về mặt kỹ thuật, nhưng với ruby, bạn có thể sắp xếp chúng theo một nghĩa nào đó. sort () sẽ chuyển đổi chúng sang một sắp xếp mảng lồng nhau, sau đó bạn có thể chuyển đổi trở lại một băm: your_hash.sort.to_h
—
jlesse