gets.chomp没有移动到新的行

jer*_*iah 3 ruby newline gets

我了解了\n,在结束时会自动的putsgets,以及如何处理这些,但有没有办法让显示器点("光标位置",如果你愿意)移动到一个新行击中后输入输入gets

例如

print 'Hello, my name is '
a = gets.chomp
print ', what's your name?'
Run Code Online (Sandbox Code Playgroud)

最终看起来像

你好,我叫Jeremiah,你叫什么名字?

Den*_*rdy 7

您可以使用(记录很少)来完成此操作getch:

require 'io/console'
require 'io/wait'

loop do
  chars = STDIN.getch
  chars << STDIN.getch while STDIN.ready?       # Process multi-char paste
  break if ["\r", "\n", "\r\n"].include?(chars)
  STDOUT.print chars
end
Run Code Online (Sandbox Code Playgroud)

参考文献:

相关的后续问题:

enter&IOError:字符缓冲IO的字节读取