鉴于以下改进:
module StringRefinement
refine String do
def bar
length
end
end
end
我想使用我的改进实现一个模块来执行块:
module Demo
using StringRefinement
def self.wrap(*args, &block)
instance_eval(&block)
end
end
现在我应该可以像这样使用它了:
Demo.wrap { puts "some text".bar }
哪个不起作用:-(
我一直在玩块绑定、yield、context、singleton_class ......但我仍然无法让它工作。我该怎么做?