ruby - 为什么 "puts"输出在 Ruby 中缩进?

标签 ruby puts

给定以下 Ruby 程序:

def getch
  begin
    system("stty raw -echo")
    ch = STDIN.getc
    puts "[#{ch}]"
    ch
  ensure
    system("stty -raw echo")
  end
end

print "Press a key: "
getch
puts "Have a nice day!"

和下面的运行:

$ ruby a.rb 
Press a key: [t]
              Have a nice day!

为什么“祝你有美好的一天!”缩进?为什么输出不是这样的:

$ ruby a.rb 
Press a key: [t]
Have a nice day!

?

最佳答案

好的,添加 opost 应该可以解决这个问题。将第三行更改为如下所示:

system("stty raw opost -echo")

希望这就是您要找的答案。

关于ruby - 为什么 "puts"输出在 Ruby 中缩进?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9001831/

相关文章:

ruby-on-rails - 在 View 中显示自定义查询结果

ruby - 全局列表变量在我的应用程序中可以吗,或者我应该使用替代方案吗?

c - 没有人从不检查 putc、fputc、puts、fputs、putchar(也许还有 printf)函数的返回值。为什么?

c++ - puts() 什么时候会失败?

ruby-on-rails - 如何在 Linux 中设置 Ruby 环境?

ruby - Watir 4.0.2单击会使浏览器崩溃

ruby - Ruby 中的 STL 支持

c - gets 和 put 获取并打印字符串

c - 带有换行符的 fputs() 就像 C 中的 puts()

c - 为什么 puts() 函数中的指针在以下代码的第 4 行中不起作用?虽然第 1 行正在运行