[MacRuby-devel] Stream of Consciousness Testing Log
Pierce T. Wetter III
pierce at twinforces.com
Tue Apr 1 12:33:50 PDT 2008
On Mar 31, 2008, at 5:22 PM, Laurent Sansonetti wrote:
>>
>> Question, the docs imply that:
>>
>> person.setFirstName(first, lastName:last)
>>
>> Can't be written as:
>>
>> person.setFirstName(first, lastName: last)
>>
>> Is that true?
>
> It is.
>
>
> $ macirb
> irb(main):001:0> class Person
> irb(main):002:1> def setFirstName(first, lastName:last)
> irb(main):003:2> @first, @last = first, last
> irb(main):004:2> end
> irb(main):005:1> end
> => nil
> irb(main):006:0> p = Person.new
> => #<Person:0x1669890>
> irb(main):007:0> p.setFirstName('foo', lastName:'bar')
> => ["foo", "bar"]
> irb(main):008:0> p.setFirstName('foo', lastName: 'bar')
> => ["foo", "bar"]
> irb(main):009:0> p.setFirstName 'foo', lastName: 'bar'
> => ["foo", "bar"]
> irb(main):011:0> p.setFirstName 'foo', :lastName => 'bar'
> => ["foo", "bar"]
>
> So, glad to know that the original problem seems to really be fixed
> in trunk. I am going to fix more bugs in trunk, then migrate the
> changes to the testing branch. The new Array class is now pretty
> functional.
Er, your example implies its not true, as
lastName: 'bar' seemed to work just fine. T
But I'm guessing that's just a case of too many double negatives.
So:
name( arg1, selector:arg2) (no space before arg2 works)
name(arg1, selector: arg2) (extra space works)
name arg1, selector: arg2 (no () works, with extra spaces)
name arg1, :selector => arg2 ( : in front and => works)
Pierce
More information about the MacRuby-devel
mailing list