Menu
Coddy logo textTech

해시 메서드

Coddy Ruby 여정의 기초 섹션에 포함된 레슨 — 88개 중 76번째.

Ruby는 해시를 더 효과적으로 검사하고 작업하는 데 도움이 되는 여러 가지 내장 메서드를 제공합니다. 이러한 메서드를 사용하면 해시 내용에 대한 정보에 빠르게 접근할 수 있습니다.

keys 메서드는 해시의 모든 키를 포함하는 배열을 반환합니다:

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}

puts person.keys  # 출력: name, age, city

마찬가지로, values 메서드는 모든 값의 배열을 반환합니다:

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}

puts person.values  # 출력: Alice, 25, Paris

특정 키가 존재하는지 확인하려면 key? 또는 그 별칭인 has_key?를 사용하세요:

person = {"name" => "Alice", "age" => 25}

puts person.key?("name")     # 출력: true
puts person.key?("country")  # 출력: false

length 메서드는 해시가 포함하고 있는 키-값 쌍의 개수를 알려줍니다:

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}

puts person.length  # 출력: 3

마지막으로, empty?는 해시에 쌍이 하나라도 있는지 확인합니다:

data = {}
puts data.empty?  # 출력: true
challenge icon

챌린지

쉬움

두 줄의 입력을 읽으십시오:

  1. key:value 형식의 쉼표로 구분된 키-값 쌍으로 표현된 해시 (예: name:Alice,age:25,city:Paris)
  2. 존재 여부를 확인할 키 (문자열)

첫 번째 입력을 파싱하여 해시를 생성한 다음, 학습한 해시 메서드를 사용하여 다음 정보를 각각 한 줄에 하나씩 출력하십시오:

  1. 해시의 각 키를 출력 (한 줄에 하나씩)
  2. 구분자로 ---를 출력
  3. 해시의 각 값을 출력 (한 줄에 하나씩)
  4. 구분자로 ---를 출력
  5. 해시의 키-값 쌍의 개수를 출력
  6. 구분자로 ---를 출력
  7. 해시가 비어 있는지 여부를 나타내는 true 또는 false를 출력
  8. 구분자로 ---를 출력
  9. 두 번째 입력으로 받은 키가 해시에 존재하는지 여부를 나타내는 true 또는 false를 출력

예를 들어, 입력이 name:Alice,age:25,city:Parisage인 경우, 출력은 다음과 같아야 합니다:

name
age
city
---
Alice
25
Paris
---
3
---
false
---
true

입력이 product:Laptop,price:999stock인 경우, 출력은 다음과 같아야 합니다:

product
price
---
Laptop
999
---
2
---
false
---
false

입력이 status:activestatus인 경우, 출력은 다음과 같아야 합니다:

status
---
active
---
1
---
false
---
true

치트 시트

Ruby는 해시를 검사하고 작업하기 위한 내장 메서드를 제공합니다:

keys 메서드는 모든 키의 배열을 반환합니다:

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.keys  # 출력: name, age, city

values 메서드는 모든 값의 배열을 반환합니다:

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.values  # 출력: Alice, 25, Paris

key? 메서드(또는 별칭인 has_key?)는 특정 키가 존재하는지 확인합니다:

person = {"name" => "Alice", "age" => 25}
puts person.key?("name")     # 출력: true
puts person.key?("country")  # 출력: false

length 메서드는 키-값 쌍의 개수를 반환합니다:

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.length  # 출력: 3

empty? 메서드는 해시에 쌍이 있는지 확인합니다:

data = {}
puts data.empty?  # 출력: true

직접 해보기

# 입력 읽기
input_string = gets.chomp
key_to_check = gets.chomp

# 입력 문자열을 파싱하여 해시 생성
hash = {}
input_string.split(',').each do |pair|
  key, value = pair.split(':')
  hash[key] = value
end

# TODO: 아래에 코드를 작성하세요
# 해시 메서드를 사용하여 다음을 수행하세요:
# 1. 각 키를 출력 (한 줄에 하나씩)
# 2. 구분선으로 "---" 출력
# 3. 각 값을 출력 (한 줄에 하나씩)
# 4. 구분선으로 "---" 출력
# 5. 키-값 쌍의 개수 출력
# 6. 구분선으로 "---" 출력
# 7. 해시가 비어 있는지 여부(true/false) 출력
# 8. 구분선으로 "---" 출력
# 9. hash에 key_to_check가 존재하는지 여부(true/false) 출력
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨