簡體   English   中英

gets.chomp首先被調用

[英]gets.chomp invoked first

我是Ruby的新手。 我創建了一個文件test.rb ,它具有以下代碼。

puts "Enter your First Name"
fname = gets.chomp
puts "Welcome #{fname}"

而且,當我在終端ruby test.rb中運行它時,它首先顯示空行(等待用戶輸入)。 在那里我輸入了我的名字。 然后在新行上顯示“輸入您的名字”,然后在新行上顯示“ Welcome Tanmay”

Tanmay
Enter your First Name
Welcome Tanmay

在要求輸入之前,它應該顯示“輸入您的名字”。

我正在使用Windows 10,ruby 2.5.1p57,Rails 5.2.0

請幫忙。

提前致謝。

設置$stdout.sync = true可以強制將寫入標准輸出的所有內容(在此之后)立即清除。

默認情況下,如果ruby認為正在寫非交互式內容,它將緩沖I / O,因為這樣可以提高性能,例如在寫文件時。

在這種情況下,聽起來好像是在猜錯……但是,聽起來您的應用程序不太可能從曾經的緩沖中受益,因此可以安全地覆蓋默認值以保持同步。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM