core :: Text :: unescape_nit
var s = "\\n"
assert s.length == 2
var u = s.unescape_nit
assert u.length == 1
assert u.chars[0].code_point == 10
# Return a string where Nit escape sequences are transformed.
#
# ~~~
# var s = "\\n"
# assert s.length == 2
# var u = s.unescape_nit
# assert u.length == 1
# assert u.chars[0].code_point == 10 # (the ASCII value of the "new line" character)
# ~~~
fun unescape_nit: String
do
var res = new Buffer.with_cap(self.length)
var was_slash = false
for i in [0..length[ do
var c = chars[i]
if not was_slash then
if c == '\\' then
was_slash = true
else
res.add(c)
end
continue
end
was_slash = false
if c == 'n' then
res.add('\n')
else if c == 'r' then
res.add('\r')
else if c == 't' then
res.add('\t')
else if c == '0' then
res.add('\0')
else
res.add(c)
end
end
return res.to_s
end
lib/core/text/abstract_text.nit:807,2--844,4