elixir中的退格转义\b不是';行不通 退格逃逸

elixir中的退格转义\b不是';行不通 退格逃逸,elixir,escapestring,Elixir,Escapestring,根据我在C的经验 你真的应该回来吗 "Hello Wol!" 这意味着\b实际上将其前面的字符退格。 所以我试着用长生不老药做同样的事情,用同样的方法得到了不同的结果。 结果如下 “你好,世界!” 换新行时也会发生同样的情况\n 请帮忙。。试图解决一个问题。 转义的其他字符如下 \a BEL (0x07) \b BS (0x08) \d DEL (0x7f) \e ESC (0x1b) \f FF (0x0c) \n NL (0x0a) \r CR (0x0d) \s SP (0x20

根据我在C的经验

你真的应该回来吗

"Hello Wol!"
这意味着
\b
实际上将其前面的字符退格。 所以我试着用长生不老药做同样的事情,用同样的方法得到了不同的结果。 结果如下

“你好,世界!”

换新行时也会发生同样的情况<代码>\n 请帮忙。。试图解决一个问题。 转义的其他字符如下

\a BEL (0x07) 
\b BS (0x08)
\d DEL (0x7f)
\e ESC (0x1b) 
\f FF (0x0c)
\n NL (0x0a)
\r CR (0x0d) 
\s SP (0x20)
\t TAB (0x09)
\v VT (0x0b) \
\uhhh 1–6 hex digits 
\xhh 2 hex digits

Erlang console
erl
iex
,构建在的基础上,使用标准的输入和输出玩肮脏的把戏

使用
:stderr
打印字符串,它不会被
erl
驱动程序触及:

iex|1 ▶ IO.puts(:stderr, "Hello Wor\bld\b!")
Hello Wol!

如果文件/项目中的代码是使用
mix
运行的,或者直接作为
elixir my_file.ex
运行的,那么对于任何标准输出来说,一切都显然是可行的。

一种解决方案是使用regex,但我更感兴趣的是找出它为什么不起作用。有趣的是,它能像预期的那样与
stderr
一起工作,而不是
stdout
我解释了原因。
iex|1 ▶ IO.puts(:stderr, "Hello Wor\bld\b!")
Hello Wol!