본문 바로가기
Developer/Ruby

Ruby Hash 반복문 사용하는 방법 - Hash.each / Hash.each_pair / Hash.each_key / Hash.each_value

by 김씩씩 2022. 9. 22.

Ruby Hash 반복문 사용하는 방법 -  Hash.each / Hash.each_pair / Hash.each_key / Hash.each_value

 

Ruby에서 Hash의 각 요소들로 반복문을 사용할 때 사용하는 Hash.each / Hash.each_pair / Hash.each_key / Hash.each_value 메소드의 사용 방법을 알려드리도록 하겠습니다.

 

 

Hash.each / Hash.each_pair 사용 방법

hash = {
  key1: 1,
  key2: "abcd",
  key3: ["a", "b", "c"],
  key4: :df,
  key5: { k1: "v1" },
}

p hash   
# Output 
# {:key1=>1, :key2=>"abcd", :key3=>["a", "b", "c"], :key4=>:df, :key5=>{:k1=>"v1"}}

hash.each { |key, value| puts "#{key} : #{value}" }
# Output 
# key1 : 1
# key2 : abcd
# key3 : ["a", "b", "c"]
# key4 : df
# key5 : {:k1=>"v1"}

hash.each_pair { |key, value| puts "#{key} : #{value}" }
# Output 
# key1 : 1
# key2 : abcd
# key3 : ["a", "b", "c"]
# key4 : df
# key5 : {:k1=>"v1"}

Hash.each 메소드와 Hash.each_pair 메소드를 사용하는 것으로 hash의 모든 키와 값에 대해 반복문을 사용할 수 있습니다.

each와 each_pair는 서로 이름만 다르고 같다고 합니다.

 

hash = {
  key1: 1,
  key2: "abcd",
  key3: ["a", "b", "c"],
  key4: :df,
  key5: { k1: "v1" },
}

p hash   
# Output 
# {:key1=>1, :key2=>"abcd", :key3=>["a", "b", "c"], :key4=>:df, :key5=>{:k1=>"v1"}}

hash.each { |key_value| p key_value }
# Output 
# [:key1, 1]
# [:key2, "abcd"]
# [:key3, ["a", "b", "c"]]
# [:key4, :df]
# [:key5, {:k1=>"v1"}]

hash.each_pair { |key_value| p key_value }
# Output 
# [:key1, 1]
# [:key2, "abcd"]
# [:key3, ["a", "b", "c"]]
# [:key4, :df]
# [:key5, {:k1=>"v1"}]

Hash.each  Hash.each_pair 를 사용할 때 Block에서 매개변수로 하나만 사용해서 예시와 같이 배열로 받아 사용하실 수도 있습니다.

 

 

 Hash.each_key 사용 방법

hash = {
  key1: 1,
  key2: "abcd",
  key3: ["a", "b", "c"],
  key4: :df,
  key5: { k1: "v1" },
}

p hash   
# Output 
# {:key1=>1, :key2=>"abcd", :key3=>["a", "b", "c"], :key4=>:df, :key5=>{:k1=>"v1"}}

hash.each_key { |key| p key }
# Output 
# :key1
# :key2
# :key3
# :key4
# :key5

Hash.each_key 를 사용하여 hash 내의 key 만을 사용하여 반복문을 사용할 수 있습니다.

 

 

Hash.each_value 사용 방법

hash = {
  key1: 1,
  key2: "abcd",
  key3: ["a", "b", "c"],
  key4: :df,
  key5: { k1: "v1" },
}

p hash   
# Output 
# {:key1=>1, :key2=>"abcd", :key3=>["a", "b", "c"], :key4=>:df, :key5=>{:k1=>"v1"}}

hash.each_value { |value| p value }
# Output 
# 1
# "abcd"
# ["a", "b", "c"]
# :df
# {:k1=>"v1"}

Hash.each_value 를 사용하여 hash 내의 value 만을 사용하여 반복문을 사용할 수 있습니다.

 

 

이상으로 Ruby에서 Hash의 각 요소들로 반복문을 사용할 때 사용하는 Hash.each / Hash.each_pair / Hash.each_key / Hash.each_value 메소드의 사용 방법에 대한 설명을 마치도록 하겠습니다.

 

 

도움이 되셨다면 공감, 댓글 부탁드립니다!

궁금하신 점이나 요청사항은 언제든지 말씀해주세요!

피드백도 언제나 환영입니다!

 

감사합니다.


댓글