小编Mat*_*zke的帖子

在实例方法中分配对象变量

我经常使用|| =运算符来减少冗余调用.我想采取这样的事情

@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来修改值?

ruby ruby-on-rails-4

1
推荐指数
1
解决办法
135
查看次数

标签 统计

ruby ×1

ruby-on-rails-4 ×1