如果在“x”秒内没有用户输入,则超时



我将如何在 Ruby 中编写代码块,如果长时间没有输入用户输入x代码块,它将超时或退出?

我没有一个半完成的脚本来更好地传达我的问题,甚至没有伪代码概念算法。

您可以使用标准库中包含的超时模块。如果要rescue超时,它将引发Timeout::Error

require 'timeout'
x = 10
begin
  status = Timeout::timeout(x) {
    printf "Input: "
    gets
  }
  puts "Got: #{status}"
rescue Timeout::Error
  puts "Input timed out after #{x} seconds"
end
require "timeout"
Timeout.timeout(x) do
  s = gets
  ...
end

相关内容

  • 没有找到相关文章

最新更新