해시 메서드
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") # 출력: falselength 메서드는 해시에 키-값 쌍이 몇 개 있는지 알려 줍니다.
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.length # 출력: 3마지막으로, empty?는 해시에 쌍이 하나라도 있는지 확인합니다.
data = {}
puts data.empty? # 출력: true챌린지
쉬움입력 두 줄을 읽으세요:
- 쉼표로 구분된 키-값 쌍으로 표현된 해시(
key:value형식, 예:name:Alice,age:25,city:Paris) - 존재 여부를 확인할 키(문자열)
첫 번째 입력을 분석해 해시를 만든 다음, 배운 해시 메서드를 사용해 다음 정보를 각각 한 줄씩 출력하세요:
- 해시의 각 키를 출력하세요(한 줄에 하나씩).
- 구분자로
---를 출력하세요. - 해시의 각 값을 출력하세요(한 줄에 하나씩).
- 구분자로
---를 출력하세요. - 해시의 키-값 쌍 개수를 출력하세요.
- 구분자로
---를 출력하세요. - 해시가 비어 있는지를 나타내는
true또는false를 출력하세요. - 구분자로
---를 출력하세요. - 두 번째 입력의 키가 해시에 존재하는지를 나타내는
true또는false를 출력하세요.
예를 들어 입력이 name:Alice,age:25,city:Paris와 age라면, 출력은 다음과 같아야 합니다:
name
age
city
---
Alice
25
Paris
---
3
---
false
---
true입력이 product:Laptop,price:999와 stock라면, 출력은 다음과 같아야 합니다:
product
price
---
Laptop
999
---
2
---
false
---
false입력이 status:active와 status라면, 출력은 다음과 같아야 합니다:
status
---
active
---
1
---
false
---
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. hash가 비어 있으면 true/false를 출력하세요
# 8. 구분자로 "---"를 출력하세요
# 9. key_to_check가 hash에 존재하는지에 따라 true/false를 출력합니다이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: 온라인 Ruby 컴파일러