Ruby では、私の関数はnil 以外の値をfunc
返すnil
場合に戻ります。の値を返すmyfunction1
ことをどういうわけか期待します。つまり、実行されなくても代入の値を取得します。func
rc
def func
rc = myfunction1
rc = myfunction2 if rc.nil?
end
これを拡張func
すると、func
期待どおりに機能します。
def func
rc = myfunction1
rc = myfunction2 if rc.nil?
rc
end
自分で試してみるための簡易版を次に示します。
def func
rc = 3
rc = myfunction2 if rc.nil? # returns nil but rc has value 3
end
この動作には特定の理由がありますか?