RuboCop | Style/LambdaCall
概要
RuboCopの「Style/LambdaCall」警告について。
lambdaの呼び出し方法についてチェックします。
デフォルトでは call を推奨します。
設定値一覧
| 設定対象 | 設定値 | 内容 | デフォルト | 
|---|---|---|---|
| EnforcedStyle | call | callメソッドを利用する | ○ | 
| EnforcedStyle | braces | ()を利用する | -- | 
LambdaCall
各設定値での検証結果をまとめます。
検証プログラム
lambda_call.rb
double = ->(x) { x * 2 }
2.step(10, 2).each do |x|
  puts double.call(x)
  puts double.(x)
end
実行結果 デフォルト の場合
.rubocop.yml
LambdaCall:
  EnforcedStyle: call
$ rubocop lambda_call.rb
Inspecting 1 file
C
Offenses:
lambda_call.rb:5:8: C: Prefer the use of lambda.call(...) over lambda.(...).
  puts double.(x)
       ^^^^^^^^^^
1 file inspected, 1 offense detected
実行結果 consistent に設定します
.rubocop.yml
LambdaCall:
  EnforcedStyle: braces
$ rubocop lambda_call.rb
Inspecting 1 file
C
Offenses:
lambda_call.rb:4:8: C: Prefer the use of lambda.(...) over lambda.call(...).
  puts double.call(x)
       ^^^^^^^^^^^^^^
1 file inspected, 1 offense detected
補足
この警告は rubocop -a で修正可能です。
RuboCopまとめ記事