On 2/16/07, Peña, Botp <botp@delmonte-phil.com> wrote:
> fr: sur max [mailto:sur.max@gmail.com] :
> # b = [*a,6] # => [9,5,6] ----- false, compile error
> # b = *a,6 # => [9,5,6] ----- false, compile error
>
> pls be careful. "*" op will splat. so here ruby is just telling/policing
you not too.
>
> I always treat splat op as a black hole. this way i make less mistakes.
>
> eg
>
> so this is allowed,
>
> irb(main):050:0> b,*a=1,2,3,4
> => [1, 2, 3, 4]
> irb(main):052:0> a
> => [2, 3, 4]
>
> this one is not,
>
> irb(main):053:0> b,*a,c=1,2,3,4
> SyntaxError: compile error
> (irb):53: syntax error, unexpected ',', expecting '=' b,*a,c=1,2,3,4
> irb(main):054:0>
>
> ruby, is telling me that "*a" is a blackhole. The c does "not matter".
Botp
this is a very nice analogy, however it does only hold for the LHS
i.e. assignment target and formal parameter lists.
On the LHS a splatted expression is an *infinite* consumer a blackhole 
On the RHS a splatted expression is a *finite* producer though.
I see no reason why ..., *a, ... should be forbidden on the RHS.
to ... = *(a + [b])
I'd prefer
... = *a, b
Side note to David:
after a night of consideration I do not believe that there any
syntactical problems
the splat operator already being allowed in front of parenthesis.
>
> so is this one,
>
> irb(main):056:0> *a
> SyntaxError: compile error
> (irb):56: syntax error, unexpected '\n', expecting '='
>
> that's a blackhole without a hole or opening. feed it 
as mentioned above we are in the producer case here
> again, another stupid blackhole reasoning.
I would not go that far 
>
> nonetheless, splat is a very sweet yet too powerful operator.
I feel that splat op digress oo-ness. But i believe it's not oo for
oo's sake. It's solving problems and discovering brilliant solutions.
Ruby does it w ease and fun. Sometimes, i feel ruby will trend toward
object and method unification, wherein objects can be methods and vice
versa. arggh, like matter <==> energy. maybe, a superproc or
superlamdba in the future... i'll stop now 
You might have a point though 
>
> drive w caution, (black)holes ahead.
>
> sorry for the long post fr a nuby.
> kind regards -botp
>
Cheers
Robert
--
We have not succeeded in answering all of our questions.
In fact, in some ways, we are more confused than ever.
But we feel we are confused on a higher level and about more important
things.
-Anonymous