Hey Guys,

I'm a bit unclear on this situation then.. 

If you create an Objective-C class "MyController" with methods and then a Ruby 
class "MyController" the class should combine all the methods between both 
correct?

For instance:

Objective-C Class:
#import "MyController.h"

@implementation MyController

- (void)helloWorld {
        NSLog(@"hello world!");
}
@end

Ruby Class:
class MyController
end

Objective-C App Delegate Class:

#import "AppDelegate.h"
#import "MyController.h"

@implementation AppDelegate

- (void)applicationDidFinishLaunching:(NSNotification *)notification {
        MyController *c = [[MyController alloc] init];
        [c helloWorld];
}

@end

The behavior I'm expecting is to see "Hello world" in the console but it seems 
as if the entire Objective-C method was deleted. I don't have a method in the 
Ruby class called helloWorld.

Cheers,
Robert

On 12/02/2011, at 2:43 PM, Matt Aimonetti wrote:

> Mark, your answer was great, I just wanted to make sure people reading the 
> thread in the future get a simple answer.
> You did a great job explaining why the answer was no and I'm sure it will be 
> valuable to many.
> 
> - Matt
> 
> On Fri, Feb 11, 2011 at 5:35 PM, Mark Rada <mr...@marketcircle.com> wrote:
> One day I'll get this question answering thing done correctly. 
> 
> Sent from my iDevice
> 
> On 2011-02-11, at 20:05, Matt Aimonetti <mattaimone...@gmail.com> wrote:
> 
>> Do MacRuby classes completely overwrite Objective-C classes if you load one 
>> in with the same class name?
>> 
>> Just to be clear, the answer is no ;)
>> 
>> - Matt
>> 
>> Sent from my iPhone
>> 
>> On Feb 11, 2011, at 17:00, Mark Rada <mr...@marketcircle.com> wrote:
>> 
>>> Hi Robert,
>>> 
>>> Classes in ruby are open, which means that if you define it in multiple 
>>> places, you get one class with things from all the definitions definitions.
>>> 
>>> However, if you define the same methods, then which ever method you define 
>>> last is the one that will exist. There are also techniques for 
>>> concatenating methods. 
>>> 
>>> If you want two classes with the same name two remain separate, consider 
>>> using a module to create a namespace. 
>>> 
>>> 
>>> Sent from my iDevice
>>> 
>>> On 2011-02-11, at 17:54, Robert Payne <robertpa...@me.com> wrote:
>>> 
>>>> Hey All,
>>>> 
>>>> Do MacRuby classes completely overwrite Objective-C classes if you load 
>>>> one in with the same class name? I'm just testing the best way to 
>>>> communicate to a MacRuby class from an Objective-C class and wanted to 
>>>> make sure.
>>>> 
>>>> Robert Payne
>>>> Interactive Developer
>>>> _______________________________________________
>>>> MacRuby-devel mailing list
>>>> MacRuby-devel@lists.macosforge.org
>>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>>> _______________________________________________
>>> MacRuby-devel mailing list
>>> MacRuby-devel@lists.macosforge.org
>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>> _______________________________________________
>> MacRuby-devel mailing list
>> MacRuby-devel@lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
> 
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel@lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
> 
> 
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel@lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

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

Reply via email to