Your code causes an infinite loop. It's because you're calling #to_s
recursively. It has nothing to do with re-opening NSDate.
The same happens with the original version of Ruby, BTW.
$ ruby19 -e "class Foo; def to_s; p '%p' % self; end; end; p Foo.new"
-e:1: stack level too deep (SystemStackE
This code creates an EXC_BAD_ACCESS error:
class NSDate
def to_s
NSLog "#{__LINE__} NSDate#to_s %@", self
'hello'
end
end
NSDate.date.to_s
If I change the NSLog statement to:
NSLog "#{__LINE__} NSDate#to_s hello"
Then I get the log entry and no EXC_BAD_ACCESS. Any idea what's caus