如何将代码块转换为字符串

森里

我想编写一个方法,以字符串的形式返回传递给它的任何块的源代码,例如:

=> 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章