2012-01-25 45 views
2

考慮下面的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! 

回答

2

好的,添加opost應該修復它。改變你的第三行看起來像這樣:

system("stty raw opost -echo") 

我希望這是你正在尋找的答案。

相關問題