루비의 Hash::each_value{ |val| block }
에 의해 반환 된 값의 순서가 어떻게 정의되어 있습니까? 나는. 주어진 해시에 대한 루프의 반복에서 값의 순서는 항상 동일합니다?Ruby의 해시에 대한 each_value의 순서가 정의되어 있습니까?
해시의 키 - 값 쌍이 배열의 값과 달리 정렬되지 않으므로 그렇게 될지 궁금합니다.
주어진 다음의 예 : 경우에
myhash = { :a => 100, :b => 200, :z => 9, :e => 101 }
myhash.each_value { |val|
puts val
}
합니까 루비를 보장 항상 * 인쇄
는100
200
9
101
보너스 문제가 정의 :
전제 조건은 무슨 순서가 정의되어 있습니까? 하드 코딩 된 해시 만 예제로 적용 할 수 있습니까?
는 [*] "항상" '작업 루비 1.9+ 각 실행에 및 시스템 "으로 판독 할 것이다.
[왜 루비의 1000 해시 배열이 키와 값 쌍이 항상 특정 순서로 존재 하는가?] (http://stackoverflow.com/questions/3516125/why-rubys-array-of-1000)의 가능한 복제본 -hash-key-and-value-pairs-are-always-in-a-particular) –