書き込めて本当に良かったです
@foo ||= "bar_default"
また
@foo ||= myobject.bar(args)
しかし、私は次のようなものを書く方法があるかどうかを見てきました
@foo ||= do
myobject.attr = new_val
myobject.other_attr = other_new_val
myobject.bar(args)
end
実際に機能するコードでは、次のようなものとほぼ同等です
@foo = if !@foo.nil?
@foo
else
myobject.attr = new_val
myobject.other_attr = other_new_val
myobject.bar(args)
end
そして、「getblock」のような独自のグローバルメソッドを記述して、一般的なブロックの結果をラップして返すことができると思いますが、これを行う組み込みの方法が既にあるかどうか疑問に思っています。