Экранирование возврата \b в эликсире не работает
Бегство назад
Из моего опыта в Си
iex> IO.puts("Hello Wor\bld\b!")
должен на самом деле вернуться
"Hello Wol!"
Это означает, что \b
фактически отодвинул персонажа, который был до него. Поэтому я попытался сделать то же самое в эликсире и получил другой результат с тем же. Вывод выглядит следующим образом Вывод в соответствии с моими записями
"Hello World!"
То же самое происходит при выходе за новую строку. \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
1 ответ
Эрланг консоль erl
, iex
, построен на вершине, играет грязные трюки со стандартным вводом и выводом.
использование :stderr
чтобы напечатать вашу строку, она не тронута erl
Водитель:
iex|1 ▶ IO.puts(:stderr, "Hello Wor\bld\b!")
Hello Wol!
Если у вас есть код в файле / проекте, который запускается с mix
или прямо как elixir my_file.ex
все очевидно будет работать для любого стандартного вывода.