🪬

【Rails】キーワードのない引数はキーワード引数よりも前に書く

2021/05/05に公開

メソッドに引数を渡す時には、引数がどのような意味を持つのかをわかりやすくするためにキーワードをつけることができます。
キーワード引数は以下のような形式で使用できます。

def メソッド名(キーワード引数: デフォルト値, キーワード引数: デフォルト値)
  # 処理
end

基本的に通常の引数とキーワード引数を一緒に使用することはあまりよろしくないようですが、キーワード引数と混在している場合は、キーワードのない引数を先に記述する必要があります。

# NG
def メソッド名(キーワード引数: デフォルト値, 引数)
  # 処理
end

# OK
def メソッド名(引数, キーワード引数: デフォルト値)
  # 処理
end

参考記事

https://www.buildinsider.net/language/rubytips/0024

https://qiita.com/raccy/items/1168c7e8849dedf70fa4#hashでまとめて受け取り

参考書籍

プロを目指す人のためのRuby入門

Discussion