如果我迭代一次哈希,然后在不修改内容的情况下再次执行,键是否保证以相同的顺序出现?
快速测试表明:
> h = {'a' => 1, 'b' => 2, 'c' => 3}
> 100_000.times.map { h.to_s == h.to_s }.all?
=> true
Run Code Online (Sandbox Code Playgroud)
另一个问题,如果允许上面的话,我可以迭代它只更改值,而不添加任何新键,并且键的顺序是否保持不变?
类似于这个python问题:如果未修改,dicts是否保留迭代顺序?
与提议的副本不同,我对元素是否具有完全指定的顺序不感兴趣,只有两个连续迭代没有修改的限制提供相同的序列.