本文介绍了打印 Ruby 块的源代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个接受块的方法.
I have a method that takes a block.
显然我不知道要传入什么,出于奇怪的原因,我不会进入这里,我想打印块的内容.
Obviously I don't know what is going to be passed in and for bizarre reasons that I won't go into here I want to print the contents of the block.
有没有办法做到这一点?
Is there a way to do this?
推荐答案
您可以使用实现 to_ruby 方法的 Ruby2Ruby 来做到这一点.
You can do this with Ruby2Ruby which implements a to_ruby method.
require 'rubygems'
require 'parse_tree'
require 'parse_tree_extensions'
require 'ruby2ruby'
def meth &block
puts block.to_ruby
end
meth { some code }
将输出:
"proc { some(code) }"
我也会看看 Github 的 Chris Wanstrath 的精彩演讲 http://goruco2008.confreaks.com/03_wanstrath.html 他展示了一些有趣的 ruby2ruby 和解析树用法示例.
I would also check out this awesome talk by Chris Wanstrath of Github http://goruco2008.confreaks.com/03_wanstrath.html He shows some interesting ruby2ruby and parsetree usage examples.
这篇关于打印 Ruby 块的源代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!