在控制台中向左移动一个字符

pet*_*ter 6 ruby console

在控制台中,您可以打印"\b"以擦除光标左侧的字符(退格键)

print "the last char is going to be erased\b" # the last char is going to be erased
Run Code Online (Sandbox Code Playgroud)

如何只向左移动一个位置而不是擦除(左箭头)?

Mar*_*eed 9

它取决于终端类型和连接,但你通常可以假设ANSI光标移动,所以光标左边是ESC +'['+'D':

print "The cursor should be here:> <\e[D\e[D"
readline
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参见http://ascii-table.com/ansi-escape-sequences.php.

  • Windows 不解释 ANSI 转义。我不认为我可以在 Windows 机器上开发;我会觉得我一直在跳铁圈。 (2认同)