キーワード引数を使ってみる
キーワード引数とは
メソッドの引数に名前(キーワード)を付けることができる機能です。
名前を付けることで、引数の意味がわかりやすくなったり、引数の順番を意識しなくても良くなります。
キーワード引数を使ってメソッドを定義してみる
今回はself_introduction
という自己紹介を出力してくれる、メソッドを定義します。
def self_introduction(name:, age:, sex:) puts "私の名前は#{name}です" puts "#{age}歳の#{sex}です" end
self_introduction
メソッドを呼び出してみます。
self_introduction(name: '太郎', age: 20, sex: '男') =>私の名前は太郎です 20歳の男です
次に引数の順番を変えて、self_introduction
メソッドを呼び出してみます。
self_introduction(sex: '男', age: 20, name: '太郎') =>私の名前は太郎です 20歳の男です
順番を変更しても、処理結果は変わりません。
メソッド定義の段階でキーワードにデフォルト値を設定することもできます。
# キーワードにデフォルト値を設定する def self_introduction(name: '名無し', age: 'n', sex: '?') puts "私の名前は#{name}です" puts "#{age}歳の#{sex}です" end # 引数を渡さずに、呼び出す self_introduction =>私の名前は名無しです n歳の?です
ちなみにデフォルト値を設定せずに、引数を渡さない場合は、
ArgumentError
が発生するのでご注意を。
このようにキーワード引数を使うことによって、 引数の数が多くなってもコードの可読性を保つことができます。