我经常使用|| =运算符来减少冗余调用.我想采取这样的事情
@my_variable ||= my_calculation_method
Run Code Online (Sandbox Code Playgroud)
把它变成
@my_variable.assign { code_block }
Run Code Online (Sandbox Code Playgroud)
用这个想法
class Object
def assign
if self.instance_of? NilClass
self = yield
end
end
end
Run Code Online (Sandbox Code Playgroud)
正如您可能已经猜到的那样,分配self没有意义并且不起作用.
你如何访问方法中的@my_variable指针assign来修改值?