Ruby 如何将代码块转换为字符串
我想写一个方法,返回作为字符串传递给它的任何块的源代码,例如:Ruby 如何将代码块转换为字符串,ruby,Ruby,我想写一个方法,返回作为字符串传递给它的任何块的源代码,例如: => block_to_string { foo(42) } => "foo(42)" block_to_string { "foo(42)" } 如果块已经是字符串,则很容易,例如: => block_to_string { foo(42) } => "foo(42)" block_to_string { "foo(42)" } 但是,对于那个块,我会错过语法突出显示等。那么,如何将块写入字符串呢
=> block_to_string { foo(42) }
=> "foo(42)"
block_to_string { "foo(42)" }
如果块已经是字符串,则很容易,例如:
=> block_to_string { foo(42) }
=> "foo(42)"
block_to_string { "foo(42)" }
但是,对于那个块,我会错过语法突出显示等。那么,如何将块写入字符串呢
def block_to_string
# what goes here?
end
我没用过,但我想sourcify gem是你需要的:
如何定义eval\u code\u on
?您可以使用。现在无法检查它是与Proc
一起工作,还是仅与Method
一起工作……此gem有9年历史,不受支持,并且有Ruby 1.9之外的错误警告。