On 2/16/07, Peña, Botp [email protected] wrote:
so this is allowed,
(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 farnonetheless, 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 thoughdrive w caution, (black)holes ahead.
sorry for the long post fr a nuby.
kind regards -botp
Cheers
Robert