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