Если я повторяю один раз хэш, то делайте это снова без изменения содержимого, ключи гарантированно появятся в том же порядке?
Быстрый тест предполагает как можно больше:
> h = {'a' => 1, 'b' => 2, 'c' => 3}
> 100_000.times.map { h.to_s == h.to_s }.all?
=> true
Другой вопрос, если это разрешено, могу ли я перебирать его, изменяя только значения без добавления каких-либо новых ключей и не изменяя порядок ключей?
похож на этот вопрос python: Do dicts сохраняют порядок итерации, если они не изменены?
В отличие от предлагаемого дубликата меня не интересует, имеют ли элементы полностью определенный порядок, только ограничение на то, что две последовательные итерации без модификации предоставляют одну и ту же последовательность.