ブロック/ proc/lambdaを使用したRuby二重パイプ割り当て?
@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 [email protected]?
@foo
else
myobject.attr = new_val
myobject.other_attr = other_new_val
myobject.bar(args)
end
そして、 "getblock"のような独自のグローバルメソッドをラップして一般的なブロックの結果を返すことができると思いますが、これを行うための組み込みの方法があるかどうかは疑問です。
ですか? – mlt