在Ruby中,我需要让用户编辑一段文字。必须使用\n
,\t
等格式化序列在一行中编辑文本,而不是制表符并输入。我将阅读此文本(使用Readline
,使用自动完成),解释它,检查并可能让用户再次更正它。
我可以使用String#dump
来获取带有转义格式字符的文本(例如,用于自动完成或提供更正)。但是当用户为他的输入提供\n
,\t
等等(也可能是\ somethingInUnicode)时,我怎样才能“取消”它 - 让Ruby解释它所能够的所有宽容使用String#dump
方法生成?
有没有Ruby方法可以做到这一点?如果不是,我必须自己tr
和gsub
或使用eval
(哎呀!)......
答案 0 :(得分:1)
由于ruby 2.5.0字符串采用undump
方法:https://ruby-doc.org/core-2.5.0/String.html#method-i-undump