I'm trying to break a loop whenever CTRL-C is pressed, and find that
this doesn't work:
trap 'INT', proc {break}; count=0; while count < 10;
puts count += 1; sleep 1; end
I'm guessing it's because the loop is somehow out of scope, but I'm not
sure why.
Some minor syntax changes to trap makes it work, sort of. If I use:
trap('INT') {break}
instead, then I get a LocalJumpError. So, why does the syntax only work
one way, and what is the right way to trap the interrupt?
--
"Oh, look: rocks!"
-- Doctor Who, "Destiny of the Daleks"