ハッシュのメソッド
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?はハッシュにペアが1つでもあるかどうかを確認します。
data = {}
puts data.empty? # 出力: trueチャレンジ
簡単入力を2行読み込みます:
- カンマ区切りのキーと値のペアで表されたハッシュ。形式は
key:value(例:name:Alice,age:25,city:Paris) - 存在を確認するキー(文字列)
1つ目の入力を解析してハッシュを作成し、学んだハッシュのメソッドを使って、次の情報をそれぞれ1行ずつ出力します:
- ハッシュ内の各キーを出力する(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自分で試してみよう
# 入力を読み込む
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: 以下にコードを書く
# hashのメソッドを使って次の処理を行う:
# 1. 各キーを出力する(1行に1つずつ)
# 2. 区切りとして"---"を出力する
# 3. 各値を出力する(1行に1つずつ)
# 4. 区切りとして"---"を出力する
# 5. キーと値のペアの数を出力する
# 6. 区切りとして"---"を出力する
# 7. hashが空の場合はtrue/falseを出力する
# 8. 区切りとして"---"を出力する
# 9. key_to_checkがhashに存在する場合はtrue/falseを出力するこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Rubyオンラインコンパイラ