更新时间:2023-01-14 21:14:42
Ruby 2.5 添加了 String#undump
作为 String#dump
:
Ruby 2.5 added String#undump
as a complement to String#dump
:
$ irb
irb(main):001:0> dumped_newline = "
".dump
=> ""\n""
irb(main):002:0> undumped_newline = dumped_newline.undump
=> "
"
有了它:
def escape(s)
s.dump[1..-2]
end
def unescape(s)
""#{s}"".undump
end
$irb
irb(main):001:0> escape("
" \")
=> "\n \" \\"
irb(main):002:0> unescape("\n \" \\")
=> "
" \"