Re:Reverse Engineering One Line of JavaScript
by jbg_ on Friday July 14, 2017 @09:44AM
(#14769713)
Unfortunately, it's not actually an initialiser. Type confusion is really common in Ruby programs, sadly.
The construct in parent assigns 1 if foo is "falsey", not strictly if it is nil. Even if foo is already initialised but contains a "falsey" value it will be assigned 1.
Re:Reverse Engineering One Line of JavaScript
by stevedt on Friday July 14, 2017 @10:52AM
(#14770203)
But in Ruby only false and nil are "falsey", so unless the variable was accidentally set to false (not impossible) the construct behaves as an initializer.
The construct in parent assigns 1 if foo is "falsey", not strictly if it is nil. Even if foo is already initialised but contains a "falsey" value it will be assigned 1.