On 31/01/2011, at 6:37 PM, Caio Chassot wrote:

> On 2011-01-30, at 23:55 , Mark Rada wrote:
>> 
>> Should both types of arrays work the same way? An instance of NSMutableArray 
>> says its class is Array, so I thought that they would.
> 
> There's something weird going on in there, I don't really know the details of 
> it, but:
> 
> A while back I had issues calling #count(foo) on a NSMutableArray, even 
> though it #is_a?Array, because it tried to call ObjC's count, which doesn't 
> take an optional argument.
> 
> Whenever I need ruby semantics on an array returned from a Cocoa framework, I 
> use Array.new(my_ns_array).
> 
> Anyway, I can see this Array/NSArray incomplete equivalence being a source of 
> endless confusion. I'm curious what tradeoffs are at play here.

This behaviour is the same with most (all?) Ruby/Cocoa objects, eg. an NSString 
object will claim to be a Ruby String but doesn't respond to the same methods. 
See this ticket...

https://www.macruby.org/trac/ticket/726

And yes, this can be very confusing.

Henry



_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

Reply via email to