Robert Klemme
3/2/2008 12:14:00 PM
On 02.03.2008 12:58, Esmail wrote:
> Esmail wrote:
>> Hello all,
>>
>> How come Hash[1,2,3,4] works, but
>>
>> a=[1,2,3,4]
>>
>> Hash[a] doesn't?
>
> but Hash[*a] does?
>
> a is an array, what is *a ??
It's also an Array. "*" is the "spash operator" that will expand an
Array to the argument list.
irb(main):001:0> def f(*a) p a end
=> nil
irb(main):002:0> f(1,2,3)
[1, 2, 3]
=> nil
irb(main):003:0> a=[1,2,3]
=> [1, 2, 3]
irb(main):004:0> f a
[[1, 2, 3]]
=> nil
irb(main):005:0> f a,33
[[1, 2, 3], 33]
=> nil
irb(main):006:0> f *a
[1, 2, 3]
=> nil
irb(main):007:0>
Cheers
robert