On 10/16/07, Robert Dober <robert.dober / gmail.com> wrote:

> Nevertheless one question remains, where is the border between
>  a += 1
>  a << 3
>  a << ( :a=>42 )
>  a << ?a

For these I'd draw the border at mutating operators.

>  a += "a"

Being a pragmatic, this doesn't bother me.  It falls into the same
place as things like,

   (1.4..10.0).to_a

and

   [:a, :b].sort  # This fails for Ruby < 1.9 anyway
or
   ["My left shoe", Time.now].sort

>  a <x>= any_object for
>  if a then a = a+ any_object
> else
>    a = Nil.__ex_nihilis__( <x>, any_object )
> end
>
>  and everybody can define Nil.__ex_nihilis__ as pleases her ?
>
> that is weird.

And going a bit too far I would say.

Afer all I wasn't even necessarily prepared to push for NilClass#+

-- 
Rick DeNatale

My blog on Ruby
http://talklikeaduck.denhaven2.com/