해시 메서드
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치트 시트
Ruby는 해시를 검사하고 작업하기 위한 내장 메서드를 제공합니다:
keys 메서드는 모든 키의 배열을 반환합니다:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.keys # 출력: name, age, cityvalues 메서드는 모든 값의 배열을 반환합니다:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.values # 출력: Alice, 25, Pariskey? 메서드(또는 별칭인 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 # 출력: 3empty? 메서드는 해시에 쌍이 있는지 확인합니다:
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) 출력이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.