ruby Tercer ejercicio del tallerdemetaprogramación
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby Tercer ejercicio del tallerdemetaprogramación相关的知识,希望对你有一定的参考价值。
module Donor
def foo(extra)
puts "bar #{extra}"
end
def not_foo
puts "not bar"
end
end
module Extractor
def pick(method_name, module_obj)
# si captura aqui, se queda cacheada la implementacion
define_method(method_name) do |*args|
module_obj.instance_method(method_name).bind(self)[*args]
end
end
end
class Three
extend Extractor
pick :foo, Donor
end
three = Three.new
three.foo('plas')
begin
three.not_foo
rescue
puts "cazado"
end
以上是关于ruby Tercer ejercicio del tallerdemetaprogramación的主要内容,如果未能解决你的问题,请参考以下文章