【发布时间】:2020-08-21 23:34:20
【问题描述】:
举个例子:
write_as_string { puts 'x' }
然后我希望能够做到
def write_as_string(&block)
puts block.to_s
end
当我执行这个时,我希望输出是:
"puts 'x'"
我希望能够接收块并获取块的实际代码,而不是执行它。
动机:创建 DSL,我想将模拟转换为许多其他方法调用,对调用代码隐藏 - 使用现有的对象和方法而不用猴子修补它们。
任何关于这方面的想法都会很棒!
谢谢
本
【问题讨论】:
标签: ruby