メソッドの引数の渡し方は以下のようにいくつかあって、違いに迷う時がある。(特にデフォルト値があるとき)
なので簡単に整理した。
method(arg)
method(arg = 'aaa')
method(arg:)
method(arg: nil)
method(arg)
通常の引数
引数を省略した場合は、エラーが発生する
method(arg = 'aaa')
通常の引数に対し、デフォルト値の設定
引数が渡されない場合、'aaa'が引数として使用される
method(arg:)
キーワード引数としてargを取る
メソッドを呼び出すときに、arg:という名前で値を渡す必要がある
引数を省略した場合は、エラーが発生する
method(arg: nil)
キーワード引数としてargを取る
引数を省略した場合はnilがデフォルト値として使用される
キーワード引数とは
- 引数を名前で指定することができる機能
- 引数を名前(キーワード)で指定できるから、引数の順序を気にしなくていい
- 呼び出す時にキーワードで指定できるからコードが読みやすくなる
- 基本こっち使うのがいいのかも
- 引数が多い時は迷わずこっち
他にも色々あると思うけれど、ざっくりとまとめた。