2014-04-01 39 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