2014-04-01 38 views
1

我想要做的是使用紅寶石的gets功能。紅寶石獲得等待2秒,然後設置值

should_i_wait = gets 

但是,如果用戶沒有輸入任何東西,我不想停止永久的程序。如果用戶在2秒後沒有輸入任何內容,我想要將布爾變量設置爲true。 有沒有簡單的方法來做到這一點?那裏有可愛的寶石嗎?

回答

3

您可以使用超時來實現這一目標:

require 'timeout' 
begin 
    should_i_wait = Timeout::timeout(2) do 
    gets 
    end 
rescue Timeout::Error 
    should_i_wait = true 
end 
puts should_i_wait