From: Yukihiro Matsumoto Date: 2008-02-29T06:51:55+09:00 Subject: Re: [ANN] MacRuby Hi, In message "Re: [ANN] MacRuby" on Fri, 29 Feb 2008 05:56:41 +0900, "Laurent Sansonetti" 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.