-1
運行通過PROC用一個類的實例裏面PARAMS這個例子是有點做作,但它從一個測試是如此之類的只是作品這種方式,將幫助我弄清楚如何在實際的庫使用。我有一個lambda,像這樣定義:紅寶石
l = lambda { |v| process(v) }
我想把它傳遞給一個對象,並在該對象的上下文中運行該過程。該物體可能是這樣的:
class LambdaRunner
def process(v)
puts v
end
def run(proc)
# code to run proc in the context of the object
end
end
我熟悉使用instance_eval的運行PROC的解決方案。
instance_eval(&proc)
但是這不起作用,因爲我需要傳遞一個值給proc。我管理的東西像一個可行的解決方案,但它感覺很不好,而且容易出錯。
self.class.class_eval do
define_method(:runner, &proc)
end
runner('hi from lambda runner')
所有其他方法都取得了undefined method process