【Ruby3.x】Hash::default()メソッドの使い方
defaultメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
defaultメソッドは、Hashオブジェクトにおいて、存在しないキーにアクセスしたときに返されるデフォルト値を取得するメソッドです。通常、ハッシュに登録されていないキーを指定して値を取得しようとすると、nilが返されます。しかし、このdefaultメソッドを使ってデフォルト値を設定しておくと、存在しないキーにアクセスした場合でも、あらかじめ設定しておいたデフォルト値が返されるようになります。
ハッシュを生成する際に、Hash.new(デフォルト値)のように引数を指定することで、初期のデフォルト値を設定できます。例えば、scores = Hash.new(0)とすると、scores[:ruby]のように存在しないキーにアクセスしても0が返されます。また、すでに存在するハッシュに対して、hash.default = デフォルト値のように代入することで、後からデフォルト値を変更することも可能です。
このメソッドを呼び出すと、現在設定されているデフォルト値が返されます。もしデフォルト値が設定されていない場合や、Hash.new { |hash, key| ... }のようにブロック形式でデフォルト値が定義されている場合は、nilが返されます。デフォルト値を活用することで、ハッシュにキーが存在するかどうかの確認処理を省略できるため、コードをより簡潔に記述できるようになります。
構文(syntax)
1my_hash = {} 2my_hash.default = "Default Value" 3# 存在しないキーにアクセスすると、設定されたデフォルト値が返されます 4p my_hash[:non_existent_key]
引数(parameters)
引数なし
引数はありません
戻り値(return)
Object | nil
Hashオブジェクトにデフォルト値が設定されている場合、そのデフォルト値が返されます。デフォルト値が設定されていない場合は、nilが返されます。