ruby – 如何将用户中断添加到无限循环?

前端之家收集整理的这篇文章主要介绍了ruby – 如何将用户中断添加到无限循环?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 ruby脚本,从下面无限打印数字从1开始.如何通过终端中的“Ctrl C”或“q”键使脚本停止无限执行?
a = 0
while( a )
  puts a
  a += 1
  # the code should quit if an interrupt of a character is given
end

通过每次迭代,都不应该询问用户输入.

解决方法

我想你必须在一个单独的线程中检查退出条件:
# check for exit condition
Thread.new do
  loop do
    exit if gets.chomp == 'q'
  end
end

a = 0
loop do
  a += 1
  puts a
  sleep 1
end

顺便说一下,你必须输入q< Enter>退出,因为这是标准输入的工作方式.

原文链接:https://www.f2er.com/ruby/269413.html

猜你在找的Ruby相关文章