在没有binding.irb
的情况下,以下代码将按预期运行:
count = 0
loop do
puts count += 1
sleep 1
rescue Interrupt => e
puts "interrupted!"
# binding.irb
next
end
每次Ctrl-C
的笔划都会产生“ interrupted!”行。
与此相反,与行binding.irb
相同的代码仅对一次Ctrl-C
笔划作出反应:
count = 0
loop do
puts count += 1
sleep 1
rescue Interrupt => e
puts "interrupted!"
binding.irb
next
end
退出irb之后,随后的Ctrl-C
笔划没有任何效果,甚至没有打印“ interrupted!”行。
为什么?