我可能缺少明显的东西,但是有没有办法在每个循环的哈希内访问迭代的索引/计数?
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:不,哈希没有排序。
—
Mikael S 2010年
从技术上讲,哈希不是经过排序的,但是在红宝石中,您可以在某种意义上对其进行排序。sort()会将它们转换为排序的嵌套数组,然后您可以将其转换回哈希:your_hash.sort.to_h
—
jlesse