As a fellow newbie, let me just say that this splat business is all very 
interesting, but I get cornfused one step earlier.  You all seem to 
think it is quite ordinary that this scanf method returns an array. 
What's up with that?  If it gathers one line of input, why then, 'o why 
doesn't it return a string object????

thanks,
jp




Hal Fulton wrote:
> Ken Kam wrote:
>> is it possible if you explain that in a bit more detail? Is that like 
>> pointers in C?
> 
> No... it's what David Alan Black calls the "unary unarray" operator,
> also called the "splat" operator.
> 
> * on an array turns it into a simple list (sort of like removing
> the brackets).
> 
> Actually... I think I misled you on the third example.
> I don't think it works. You'd still need more than one
> item on the left side if you used it.
> 
> On the other side, it's different.
> 
>     x,* = array   # means the same as
>     x,  = array   # but with the * it looks better
> 
> x gets assigned the first value.
> 
> There's also:
> 
>    a = scanf('%d')[0]    # or
>    a = scanf('%d').first
> 
> 
> 
> Hal


-- 
Posted via http://www.ruby-forum.com/.