2

次の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!

4

1 に答える 1

2

OK、追加opostすると修正されるはずです。3行目を次のように変更します。

system("stty raw opost -echo")

これがあなたが探している答えであることを願っています。

于 2012-01-25T12:48:22.517 に答える