ruby で変数が初期化されてない時に、デフォルト値を代入しようとした。
a = ARGV[0] a ||= 100
もっとスマートに書けないかなぁ。
a = 100 || b
でもこれを逆に書くと動かないんだ。
a = b || 100 NameError: undefined local variable or method `b' for main:Object
もちろん、変数がが初期化済みならエラーは出ない。逆もエラーにならない。
b = nil a = 100 || b #=> 100
逆
b = nil a = b || 100 #=> 100
ということで || 演算子(なんて読むの?defined-or ? )で初期化をするときは、定義済み変数を使うこと。