[MacRuby-devel] question on calling super methods in macruby

Laurent Sansonetti lsansonetti at apple.com
Thu Jun 12 12:18:07 PDT 2008


As Eloy says, super will work as expected. We try to support super in  
RubyCocoa too but it was very hard to implement (and it was also  
causing regressions), thus the necessary super_foo method.

On the other side, you cannot do the following in MacRuby:

- (id)init
{
   return [super initWithFrame:NSZeroRect];
}

(E.g. calling a different super method.)

But I don't think we should provide a way to do this in MacRuby,  
because Ruby itself doesn't allow you to do that. MacRuby is Ruby  
after all.

Laurent

On Jun 12, 2008, at 5:08 AM, Eloy Duran wrote:

> Hi Richard,
>
> MacRuby is about getting as ruby-ish as possible.
> Thus you should simply use the keyword super, your third example.
>
> Cheers,
> Eloy
>
> On Jun 12, 2008, at 1:58 PM, Richard Kilmer wrote:
>
>> In RubyCocoa if I had:
>>
>>  def initWithFrame(frame)
>>    super_initWithFrame(frame)
>>    # do other stuff
>>    self
>>  end
>>
>> In MacRuby would I just do this:
>>
>>  def initWithFrame(frame)
>>    super.initWithFrame(frame)
>>    # do other stuff
>>    self
>>  end
>>
>> or even just
>>
>>  def initWithFrame(frame)
>>    super
>>    # do other stuff
>>    self
>>  end
>>
>>
>>
>> _______________________________________________
>> MacRuby-devel mailing list
>> MacRuby-devel at lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel



More information about the MacRuby-devel mailing list