私はそれを考えました:
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
変数が定義されていない場合に設定する方法はありますか?
一般的な答え:
演算子を使用したいコメントがいくつかあります...次の場合は機能し||=
ません:foo
nil
foo ||= default_value
foo
が定義されている間、デフォルト値を返します。
defined?
と等しくない「not」を使用することを主張しnil
ます。