我想编写一个方法,以字符串的形式返回传递给它的任何块的源代码,例如:
=> block_to_string { foo(42) }
=> "foo(42)"
如果该块已经是一个字符串,这将很容易,例如:
block_to_string { "foo(42)" }
但是然后,我会错过该块的语法高亮显示等。那我怎么写block_to_string
?
def block_to_string
# what goes here?
end
我还没有用过,但是我猜这就是您需要的宝石:https : //github.com/ngty/sourcify
lambda { x + y }.to_source(:strip_enclosure => true)
# >> "(x + y)"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句