冗長呼び出しを減らすために、|| =演算子を使用することがよくあります。私は意味がありませんself
を割り当て、このインスタンス変数内にオブジェクト変数を代入する
@my_variable ||= my_calculation_method
ようなものを取ると、このアイデアあなたは既に推測しているかもしれませんが
class Object
def assign
if self.instance_of? NilClass
self = yield
end
end
end
を使用して
@my_variable.assign { code_block }
にそれを変えたいというまくいかない。
assign
メソッド内の@my_variable
ポインタにアクセスして値を変更するにはどうすればよいですか?
if self.instance_ofを置き換えることができますか? 'nilClass'(' self.'は必要ありません、btw)は 'if nil? 'とします。 ([Object#nil?](http://ruby-doc.org/core-2.3.0/Object.html#method-i-nil-3F)を参照してください。) 'Object'の多くのサブクラスでは、すべてあなたは '' nilならyieldを置き換える 'と書くことができます。 –