2014-04-14 3 views
3

저는 Ruby를 사용하는 초보자 프로그래머입니다. 그리고 이것은 Stack Overflow에 대한 나의 첫 번째 질문이므로 나와 함께하시기 바랍니다.하나의 해시에서 다른 해시로 키/값 쌍을 이동

hash_one = { :key1 => :value1, :key2 => :value2, :key3 => :value3 } 
hash_two = { :key4 => :value4, :key5 => :value5, :key6 => :value6 } 

은 무엇 hash_two에 (예를 들어 :key1 => :value1) hash_one에서 키/값 쌍을 이동하는 가장 쉬운 방법은 다음과 같습니다의 내가 두 해시 있다고 가정 해 봅시다?

+0

감사합니다. 매우 감사. – daveyK

답변

3
hash_two[:key1] = hash_one.delete(:key1) 

deletehash_one에서 key1을 제거하고 key1의 값을 반환합니다. 이 값은 hash_two에이 키를 설정하는 매개 변수로 사용됩니다.

+0

좋은 대답, tessi. 우리가 가지고있는 각각의'delete' 두 가지 형태가 있다면 편리할까요? 이런 상황에서 유용할까요? 그리고 아이템이 삭제 된 객체의 남은 것을 돌려주는 두 번째 것? 후자는 삭제되거나 삭제 된 항목이 삭제되거나 삭제되지 않는다는 것을 알고있는 경우 유용합니다. –

+0

@CarySwoveland [Hash # reject] (http://www.ruby-doc.org/core-2.1.1/Hash.html#method-i-reject)는 그 목적으로 사용하기에는 약간 성가신 일입니다. –

+0

좋은 지적이지만,'String # delete'도 생각 중입니다. –

관련 문제