Hi,
In message "Re: [ANN] MacRuby"
on Fri, 29 Feb 2008 05:56:41 +0900, "Laurent Sansonetti" <laurent.sansonetti / gmail.com> writes:
|> duck.foo(1, bar: 2) # mapped to foo:bar: what does an
|> instance of C do with this?
|
|Here, MacRuby will check if duck responds to foo:bar:. If true, this
|message is sent with 1 and 2 as arguments. If not true, the foo
|message is sent instead with 1 and {:bar => 2} as arguments.
|
|If you're working with pure Ruby objects, the second code path should
|always be taken. Unless you define foo:bar: in your Ruby class.
|
|Note that the key:value syntax to describe a hash pair is available in
|vanilla 1.9.
I still think having dedicated syntax for Objective-C call is better
than overriding normal call.
duck.foo: 1 bar: 2
or
duck.foo: 1, bar: 2
maybe? I am not sure if the parser allows this or not yet.
matz.