私はそれを考えました:
do_something if condition
と同等でした
if condition
do_something
end
この規則を尊重しないコードを見つけました。
if !(defined? foo)
foo = default_value
end
ここで、fooかかりますdefault_value。
foo = default_value if !(defined? foo)
ここで、fooかかりますnil。if前者のコードでは、が最初に実行され、次と同等であると思います。
foo = (default_value if !(defined? foo))
default_value変数が定義されていない場合に設定する方法はありますか?
一般的な答え:
演算子を使用したいコメントがいくつかあります...次の場合は機能し||=ません:foonil
foo ||= default_value
fooが定義されている間、デフォルト値を返します。
defined?と等しくない「not」を使用することを主張しnilます。