Class: RuboCop::Cop::Lecture::ExplainOrAssign
- Inherits:
-
Base
- Object
- Base
- RuboCop::Cop::Lecture::ExplainOrAssign
- Defined in:
- lib/rubocop/cop/lecture/explain_or_assign.rb
Overview
‘foo ||= 1` は変数fooがnilまたはfalseのときに変数fooへ1を代入し、それ以外のときは何もしません。 変数 ||= 初期値 という形で初期化時によくつかわれます。
‘foo ||= 1` は `foo = foo || 1` と同じです。 || は最初の項がnilまたはfalseのときだけ2項目を戻り値にして、それ以外のときは最初の項を戻り値にします。
Constant Summary collapse
- MSG =
<<~STRING `foo ||= 1` は変数fooがnilまたはfalseのときに変数fooへ1を代入し、それ以外のときは何もしません。 変数 ||= 初期値 という形で初期化時によくつかわれます。 `foo ||= 1` は `foo = foo || 1` と同じです。 || は最初の項がnilまたはfalseのときだけ2項目を戻り値にして、それ以外のときは最初の項を戻り値にします。 ざっくりと 「変数に何か入っていたらそのまま、何も入っていなかったら||=の右に書かれたオブジェクトを初期値としてつかう」 と考えると覚えやすいかもしれません。 ただし、falseやnilを初期値につかうときは気をつけてください。 事前に意図的にfalseやnilが代入されているときにも代入されるので、意図しない動作になるかもしれません。 STRING
Instance Method Summary collapse
Instance Method Details
#on_or_asgn(node) ⇒ Object
43 44 45 |
# File 'lib/rubocop/cop/lecture/explain_or_assign.rb', line 43 def on_or_asgn(node) add_offense(node) end |