루비 해시 병합
해시는 배열과 매우 유사하지만 모든 해시에는 일반적으로 고유한 키가 있다는 점에서 다릅니다.
해시를 사용하는 것은 데이터를 잘 정리되고 읽기 쉬운 구조로 유지하는 가장 좋은 방법으로 간주되며 고유 키를 사용하여 두 개의 Ruby 해시를 병합할 수도 있습니다.
이제 Ruby 해시를 병합하는 다양한 방법을 살펴보겠습니다.
Ruby 해시를 병합하는 간소화된 방법
이 방법은 두 번째 방법과 관련하여 매우 간단하고 작업하기 쉽고 더 적은 코드를 사용하기 때문에 단순화라고 합니다.
새 파일을 만들고 이름을 new.rb
로 지정하고 다음 코드를 추가합니다.
a = {:cheetah => {:color => "spotted"}}
b = {:cheetah => {:speed => "100mph"}}
a.merge(b) {|key, a_val, b_val| a_val.merge b_val }
각각 고유한 키가 있는 속성을 해시에 생성했습니다. 해시를 병합하여 동물의 이름, 색상 및 속도를 표시하려고 합니다.
Ruby 해시 병합에 대한 자세한 접근 방식
이 방법을 사용하려면 코드에 세부 정보를 추가해야 합니다. 위의 예에서는 해시에 할당된 키를 사용하여 해시를 병합하기만 하면 되었지만 여기서는 병합하려는 값이 있는 속성을 포함합니다.
새 파일을 만들고 이름을 new.rb
로 지정하고 다음 코드를 입력합니다.
a = {:cheetah => {:color => "spotted"}}
b = {:cheetah => {:speed => "100mph"}}
c = a[:cheetah].merge(b[:cheetah])
d = {:cheetah => c}
고유 키를 사용하여 각 속성에 값을 할당한 후 다른 해시를 생성하여 이전 두 해시를 병합합니다. 그런 다음 해시 c
의 속성을 표시하기 위해 또 다른 해시를 생성합니다.
동일한 고유 키로 해시를 병합하는 상황에서 Ruby는 첫 번째 해시를 두 번째 해시로 재정의합니다.
이를 확인하기 위해 새 파일을 만들고 이름을 new.rb
로 지정하고 다음 코드를 입력합니다.
h1={"a"=>"cheetah","b"=>"apple"}
h2={"b"=>"mango","c"=>"lion"}
h1.merge!(h2)
이 코드를 실행하면 "apple"
이 병합된 해시에 포함되지 않는 것을 볼 수 있습니다. 하지만 코드를 약간 수정하면 이 문제를 해결할 수 있습니다.
새 파일을 만들고 이름을 new.rb
로 지정하고 다음 코드를 입력합니다.
h1={"a"=>"cheetah","b"=>"apple"}
h2={"b"=>"mango","c"=>"lion"}
h1.merge(h2){|k,v1,v2|[v1,v2]}
이제 속성 "b"
가 "mango"
값만 표시하는 대신 "b"
속성 아래 "apple"
과 "mango"
가 모두 표시되는 것을 볼 수 있습니다.
결론
해시는 데이터를 일관되게 표시하는 데 매우 적합한 수단이며 각 해시에 고유한 키를 할당하면 다른 기능을 수행하거나 이 경우 해시를 병합하기 위해 속성을 쉽게 호출할 수 있습니다. 해시에 할당된 고유한 키로 인해 해시 병합이 더 쉬워집니다.
Fisayo is a tech expert and enthusiast who loves to solve problems, seek new challenges and aim to spread the knowledge of what she has learned across the globe.
LinkedIn