From: Robert Dober Date: 2008-07-03T19:29:16+09:00 Subject: Re: is it normal to be kicked out of irb? On Thu, Jul 3, 2008 at 6:15 AM, Emmanuel Oga wrote: > Is it normal to be kicked off of irb when a Fatal error occurs ? I was > kicked of of it while testing this (kicked off != code halt with an > exception): > > $ irb > irb(main):001:0> def is_prime?(n); ("1" * n) !~ /^1?$|^(11+?)\1+$/ ; > rescue NoMemoryError; puts "ouch"; end > => nil > irb(main):002:0> is_prime?(2) > => true > irb(main):005:0> is_prime?(100000000) > ouch > => nil > irb(main):006:0> is_prime?(1000000000) > [FATAL] failed to allocate memory > $ > > p.s.: is_prime? method taken from > http://www.noulakaz.net/weblog/2007/03/18/a-regular-expression-to-check-for-prime-numbers/ > -- > Posted via http://www.ruby-forum.com/. > > It does not surprise me that IRB exits ungracefully in that case. BTW it does not surprise me either that the backtracking regular expression runs out of memory for such large numbers even if they are even ;). Cheers Robert -- http://ruby-smalltalk.blogspot.com/ --- AALST (n.) One who changes his name to be further to the front D.Adams; The Meaning of LIFF