反转Ruby String #dump方法

时间:2016-04-15 09:55:19

标签: ruby string escaping dump

在Ruby中,我需要让用户编辑一段文字。必须使用\n\t等格式化序列在一行中编辑文本,而不是制表符并输入。我将阅读此文本(使用Readline,使用自动完成),解释它,检查并可能让用户再次更正它。

我可以使用String#dump来获取带有转义格式字符的文本(例如,用于自动完成或提供更正)。但是当用户为他的输入提供\n\t等等(也可能是\ somethingInUnicode)时,我怎样才能“取消”它 - 让Ruby解释它所能够的所有宽容使用String#dump方法生成?

有没有Ruby方法可以做到这一点?如果不是,我必须自己trgsub或使用eval(哎呀!)......

1 个答案:

答案 0 :(得分:1)

由于ruby 2.5.0字符串采用undump方法:https://ruby-doc.org/core-2.5.0/String.html#method-i-undump