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