假设有一个包含 1000 个哈希值的数组,其中的对如下{:id => 1, :name => 'something', :created_at => '2010-08-18'}
当我使用循环打印出这 1000 条记录时,按理说,散列的键/值对顺序无法保证,但打印出表时,它总是以相同的顺序出现。为什么会这样,可以依靠吗?否则,有什么好的方法可以对键/值对进行排序呢?
(我正在考虑映射:id to 10, and :name to 20, and :create_at to 30
,然后按这些映射值对键进行排序,以便 :id 位于 :name 之前,并且位于 :created_at 之前)
(哈希值由a_hash.each_pair do |k, v| ...
)
哈希的布局是确定性的。因此,对于特定版本的 ruby,如果您始终以相同的顺序添加/删除哈希的键,则哈希的布局将是相同的。这意味着迭代数组中的哈希值将使所有键都按相同的顺序排列。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)