Ruby Hash.keys и .values, безопасно принимать тот же порядок?

Рудиментарное тестирование irb предполагает, что Ruby Hash возвращает .keys и .values в порядке совпадения. Можно ли предположить, что это так?

Ответы

Ответ 1

Да. Согласно Ruby Docs for Hash, "Хэши перечисляют свои значения в том порядке, в котором были вставлены соответствующие ключи." Поэтому вы всегда должны получать один и тот же порядок для хэша, если он создается таким же образом.

Ответ 2

Зависит от того, какую версию Ruby вы используете. До 1,8, перечисление не было введенным в порядок. Начиная с 1,9, он будет перечислять ключи и значения в соответствии с порядком вставки, поэтому да, можно с уверенностью предположить, что пока вы используете 1.9.