루비 해시 병합

Oluwafisayo Oluwatayo 2024년2월15일
  1. Ruby 해시를 병합하는 간소화된 방법
  2. Ruby 해시 병합에 대한 자세한 접근 방식
  3. 결론
루비 해시 병합

해시는 배열과 매우 유사하지만 모든 해시에는 일반적으로 고유한 키가 있다는 점에서 다릅니다.

해시를 사용하는 것은 데이터를 잘 정리되고 읽기 쉬운 구조로 유지하는 가장 좋은 방법으로 간주되며 고유 키를 사용하여 두 개의 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 }

각각 고유한 키가 있는 속성을 해시에 생성했습니다. 해시를 병합하여 동물의 이름, 색상 및 속도를 표시하려고 합니다.

방법 1

Ruby 해시 병합에 대한 자세한 접근 방식

이 방법을 사용하려면 코드에 세부 정보를 추가해야 합니다. 위의 예에서는 해시에 할당된 키를 사용하여 해시를 병합하기만 하면 되었지만 여기서는 병합하려는 값이 있는 속성을 포함합니다.

새 파일을 만들고 이름을 new.rb로 지정하고 다음 코드를 입력합니다.

a = {:cheetah => {:color => "spotted"}}
b = {:cheetah => {:speed => "100mph"}}
c = a[:cheetah].merge(b[:cheetah])
d = {:cheetah => c}

고유 키를 사용하여 각 속성에 값을 할당한 후 다른 해시를 생성하여 이전 두 해시를 병합합니다. 그런 다음 해시 c의 속성을 표시하기 위해 또 다른 해시를 생성합니다.

방법 2

동일한 고유 키로 해시를 병합하는 상황에서 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"가 모두 표시되는 것을 볼 수 있습니다.

결론

해시는 데이터를 일관되게 표시하는 데 매우 적합한 수단이며 각 해시에 고유한 키를 할당하면 다른 기능을 수행하거나 이 경우 해시를 병합하기 위해 속성을 쉽게 호출할 수 있습니다. 해시에 할당된 고유한 키로 인해 해시 병합이 더 쉬워집니다.

Oluwafisayo Oluwatayo avatar Oluwafisayo Oluwatayo avatar

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