キーワード引数とは
Rubyにおいてメソッドは、実引数が同じ位置に書かれている仮引数に渡されて実行される。
しかし仮引数にした場合、引数の意味がわからなくなり間違ってしまうことがある。
そこで、引数の名前と値を指定できるキーワード引数を使うと、
・引数の意味がわかりやすくなる
・定義された順序と異なる順序で実引数を指定できる
・デフォルトの値を指定できる
書き方
def (key1: value1, key2: value2)
end
*この時、値に何も入れず、実引数も渡さなければエラーが発生する。
例
def pitcher(speed: 155, age: 24)
p "#{speed}, #{age}"
end
① pitcher()
=> "155, 24"
② pitcher(speed: 150, age: 30)
=> "150, 30"
①はデフォルトの値の引数でメソッドが実行される。
②は渡した引数で実行される。
def pitcher(speed: 155, age: )
p "#{speed}, #{age}"
end
① pitcher()
ArgumentError: missing keyword: age
② pitcher(age: 20)
=> "155, 20"
①はageの値が無いため、エラーが発生。
②はageの値を実引数で渡しているため、実行される。