ハッシュのメソッド
CoddyのRubyジャーニー「基礎」セクションの一部 — レッスン 76/88。
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チャレンジ
簡単2行の入力を読み取ります:
key:value形式のカンマ区切りキー・値ペアで表されるハッシュ(例:name:Alice,age:25,city:Paris)- 存在を確認するためのキー(文字列)
最初の入力をパースしてハッシュを作成し、学習したハッシュメソッドを使用して、以下の情報をそれぞれ新しい行に出力してください:
- ハッシュ内の各キーを出力する(1行に1つ)
- セパレータとして
---を出力する - ハッシュ内の各値を出力する(1行に1つ)
- セパレータとして
---を出力する - ハッシュ内のキー・値ペアの数を出力する
- セパレータとして
---を出力する - ハッシュが空かどうかを示す
trueまたはfalseを出力する - セパレータとして
---を出力する - 2番目の入力のキーがハッシュ内に存在するかどうかを示す
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. 各キーを出力する(1行に1つ)
# 2. セパレータとして "---" を出力する
# 3. 各値を出力する(1行に1つ)
# 4. セパレータとして "---" を出力する
# 5. キーと値のペアの数を出力する
# 6. セパレータとして "---" を出力する
# 7. ハッシュが空かどうかに応じて true/false を出力する
# 8. セパレータとして "---" を出力する
# 9. key_to_check がハッシュ内に存在するかどうかに応じて true/false を出力するこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。