Hi Bernd,

YES and NO in ObjC are translated to true and false in MacRuby.

so you were probably after:

 NSNumber.numberWithBool(false)

(I am curious as to how often that is useful actually)

I will leave the table idea for others to comment - I actually think in the end there are only a few rules to learn and then you will find yourself translating easily (not that those rules should not go in a cheat sheet somewhere - that's probably a good idea).

With:
NSDictionary.dictionaryWithObjectsAndKeys "a", "b", nil

I assume that in the original ObjC method is actually passing an array which (it seems) must be terminated by a nil (in objC). I actually ran across this in another context - passing objects in this way - again I will leave others to comment on it, perhaps it is an issue.

However why can't you use :

dict = {"b"=>"a"}
=> {"b"=>"a"}

#check class of created dictionary
dict.class
=> NSMutableDictionary

Why use the long winded ObjC form?

If you need a immutable NSDictionary for some reason:
dict = NSDictionary.alloc.initWithDictionary({"a"=>"b", "c" => "d"})
#or if you like typing
dict = NSDictionary.dictionaryWithObjects(["b","d"], forKeys: ["a","c"],count:1)

(and many other similar methods, I am sure) works fine.

Cheers,
John


On Oct 14, 2009, at 10:03 , B. Ohr wrote:

Hi all!

Using Cocoa in MacRuby is sometimes a hard job, because all documentation, examples and sample code is Obj-C. For example, I found this piece of code '[NSNumber numberWithBool:NO]' and asked myself how to write that in Macruby.

I opened macirb and typed:

> NSNumber.numberWithBool 0
=> false

First I had to laugh and then I thought: Hey implementors of macruby, you really did a great job!

What do you think about a table on http://www.macruby.org/ which lists all such short (and astonishing) examples. Or even better, why not create a command in the services menu which translates a Obj-C sequence (by regexp).

BTW, the second example I tried is:

> NSDictionary.dictionaryWithObjectsAndKeys "a", "b", nil

but instead of {"b"=>"a"} I got a seg fault! (ticket is filed)

Greets,
Bernd





_______________________________________________
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