他のタイプの変数には を使用します||=
が、これはブール値では機能しません ( x ||= true
x が以前に false に割り当てられていたとしても、x を true に割り当てます)。
私はこれがうまくいくと思っていました:
x = true unless defined?(x)
しかし、そうではありません。何らかの理由で x を nil に割り当てます。(ここで説明をいただければ幸いです。)
私は機能する1つの方法を知っています:
unless defined?(x)
x = true
end
しかし、それはかなり冗長です。Rubyでブール変数にデフォルト値を割り当てるより簡潔な方法はありますか?