7
是否可以在调用期间更改过程的绑定?在调用期间更改`Proc`绑定
class AllValidator
def age_validator
Proc.new {|value| self.age > value }
end
end
class Bar
attr_accessor :age
def doSomething
validator = AllValidator.new.age_validator
validator.call(25) # How to pass self as the binding?
end
end
在上面的代码中,如何在调用过程中更改proc的绑定? 有没有办法像eval
函数那样传递绑定?
注意 如果上面的例子是真实的,我会用mixin
/inheritence
等我使用的代码来证明我的问题的方案。
这是否允许你将参数传递给'validator'? – 2010-03-02 06:42:30
'instance_eval'有一个姐姐的方法,可以让你做到这一点,见上面的更新。 – molf 2010-03-02 07:11:32
+1感谢您的详细解答。 – 2010-03-02 07:57:13