I agree on that point of course they are different calls .... but from a ruby 
point of view WHY isn't init with no args the same as initialize with no 
args.... 

So I can live with it but my preference is with ruby initialize... this is 
macRuby right?

Terry
On 7/05/2010, at 6:09 PM, Thibault Martin-Lagardette wrote:

> Hi!
> 
> I totally agree that it is a little confusing. But #new an #new(owner) are 
> two different methods, especially in Obj-C.
> Calling A.new(arg) cannot call -init, since -init doesn't take any argument, 
> so it will call any initializer method that takes one argument :-).
> This is why:
> 
> class A; def initialize; end; end; # Will never be called with A.new, because 
> -init will be called instead
> class A; def initialize(str); end; end; # Will be called with A.new(str), 
> because -init cannot be called
> 
> It simply depends on how you define your initilizer method :-)
> 
> -- 
> Thibault Martin-Lagardette
> 
> 
> 
> On May 6, 2010, at 21:54, Terry Moore wrote:
> 
>> This is only true if you follow objc init I think... for example...
>> 
>> 
>> I came across this problem with NSWindowController and it took me a while to 
>> figure out.
>> 
>> class PasswordController < NSWindowController
>> def initialize
>>     initWithWindowNibName("Password")  ##FAIL Never called! init called 
>> instead
>> end
>> 
>> class PrefController < NSWindowController
>>              
>>   def initialize(owner)
>>     @owner = owner
>>     initWithWindowNibName("Preferences")
>>   end
>> end
>> 
>> 
>> The first example fails and so I finally got that I needed the init method 
>> to make the window appear but I couldn't figure out why the second option 
>> worked.
>> 
>> Must have been a long day but clearly if designate an initialize with a 
>> param init is bypased...
>> 
>> so if I take the 
>> class A <String 
>>   def initialize(b)
>>      super
>>   end
>> end
>>   example and do A.new("hi there") gives
>> 
>> initialize
>> => "hi there"
>> 
>> so what is going on? I think there might need to be some clarity..... 
>> 
>> Terry
>> 
>> 
>> _______________________________________________
>> MacRuby-devel mailing list
>> [email protected]
>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
> 
> _______________________________________________
> MacRuby-devel mailing list
> [email protected]
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

_______________________________________________
MacRuby-devel mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

Reply via email to