QA@IT

Rubyのメソッド呼び出し時の引数のカッコについて

5328 PV

普段コードを書いていて気になるため質問させていただきます。

以下のように、Rubyではメソッド呼び出し時にカッコを省略できますが、
これに関するコーディング規約のようなものはありますか?

例えば、「カッコは必ず省略する」「カッコは必ず付ける」や、
あるいは「こういうケースは省略し、こういうケースは付ける」など。

規約がなければ回答者さまの慣例でもよいので、ご教示いただければと思います。
よろしくお願いいたします。

def hello(name)
  name
end

p hello 'world'
p hello('world')

回答

githubにあったRubyスタイルガイドによりますと

内部DSL(例えばRake,Rails,RSpecなど)、 Ruby内で"キーワード"となるステータスを持ったメソッド(例えばattr_reader やputsなど)や アトリビュートにアクセスするメソッドでは、 引数の周りの()を省略しましょう。 それ以外のメソッドでは、メソッド呼び出しの時に()を付けましょう。
https://github.com/fortissimo1997/ruby-style-guide/blob/japanese/README.ja.md

との事で、つけるほうが一般的なようです。

このスタイルガイドがどの程度の一般性を持つかはわからないのですが、
英語版のスターが5000以上あるので、それなりに汎用性を持つのではないでしょうか。
https://github.com/bbatsov/ruby-style-guide

編集 履歴 (0)
  • なるほど、ありがとうございます! -
ウォッチ

この質問への回答やコメントをメールでお知らせします。