Ruby

【Ruby】引数の可読性を高めることができるキーワード引数について簡単にまとめてみた

Ruby

 

今回は引数の可読性を高めることができる機能「キーワード引数」について簡単にまとめたので紹介したいと思います。基本的に引数が2つ以上になる場合はキーワード引数を設定し、可読性の高いコードになるよう心掛けましょう。

37:50からキーワード引数についての紹介が始まります。

キーワード引数とは

キーワード引数とはRuby2.0で導入された機能で、引数の意味を分かりやすく記述することができる機能です。引数の可読性を高め、バグや認識漏れを防ぐことができます。

キーワード引数を導入するメリットとしては以下の2つになります。

  • 引数の可読性を高めることができる
  • 引数の順序を考慮しなくて良い

引数の基本形

キーワード引数の前に、引数の基本形についておさらいしておきます。

メソッドを呼び出す部分に「本引数」、メソッドを定義している部分に「仮引数」を記載します。本引数と仮引数の名前が同じである必要はありません。

def first_name(name) # 仮引数
  puts "私の名前は#{name}です。"
end

name = "千葉"

first_name(name) # 本引数
=> 私の名前は千葉です。

 

複数の引数を渡す場合は、以下のように順序を考慮しなければなりません。

def person(last_name, first_name, age)
  puts "私の名前は#{last_name} #{first_name}で#{age}歳です。"
end

person('田中', '太郎', 35)
=> 私の名前は田中 太郎で35歳です。
Ruby
【初心者向け】Ruby学習者が必ずつまずく「引数」について簡単にまとめてみたRubyを学習していて最初につまづくであろう「引数」について初心者向けに解説しています。Rubyを扱う上で(厳密にはプログラムを書く上で)、引数は必ず用いられる概念のためぜひこの機会に理解しておきましょう。...

キーワード引数

キーワード引数では本引数部分に「キーワード: 値」を、仮引数部分には「キーワード:」を記述します。本引数と仮引数の値がキーワードによって紐づいています。

def person(last_name:, first_name:, age:)
  puts "私の名前は#{last_name} #{first_name}で#{age}歳です。"
end

person(last_name: '田中', first_name: '太郎', age: 35)
=> 私の名前は田中 太郎で35歳です。

 

キーワードによって紐づいているため、順序を考慮しなくても正常に動作します。

def person(last_name:, first_name:, age:)
  puts "私の名前は#{last_name} #{first_name}で#{age}歳です。"
end

person(last_name: '田中', age: 35, first_name: '太郎')
=> 私の名前は田中 太郎で35歳です。

デフォルト値の指定

通常の引数でもデフォルト値を設定することができましたが、キーワード引数でも同様にデフォルト値を指定することが可能です。

デフォルト値は仮引数にあらかじめ値をセットしておきます。以下の例では、last_nameとfirst_nameにデフォルト値をセットしています。

def person(last_name: '山田', first_name: '花子', age:)
  puts "私の名前は#{last_name} #{first_name}で#{age}歳です。"
end

 

本引数を指定しなかった場合、デフォルト値が使用されます。

def person(last_name: '山田', first_name: '花子', age:)
  puts "私の名前は#{last_name} #{first_name}で#{age}歳です。"
end

person(age: 35)
=> 私の名前は山田 花子で35歳です。

 

本引数を指定した場合はその値が使用されます。

def person(last_name: '山田', first_name: '花子', age:)
  puts "私の名前は#{last_name} #{first_name}で#{age}歳です。"
end

person(last_name: '田中', age: 35, first_name: '太郎')
=> 私の名前は田中 太郎で35歳です。

まとめ

  • キーワード引数とは、引数の意味を分かりやすく記述することができる機能のこと
  • キーワード引数を導入することで、引数の可読性を高めることができる
  • キーワード引数を導入することで、引数の順序を考慮しなくて良い
  • キーワード引数では本引数部分に「キーワード: 値」を、仮引数部分には「キーワード:」を記述する
  • キーワード引数ではデフォルト値を指定することも可能

参考

 

 

今回は引数の可読性を高めることができる機能「キーワード引数」について解説しました。引数が2つ以上になる場合はキーワード引数を指定し、可読性の高いコードになるよう心掛けましょう。