From: Tanaka Akira Date: 2009-12-21T15:06:11+09:00 Subject: [ruby-core:27259] Re: [Bug #2422] splat operator fails on array of 1 element 2009/12/21 katz bo : > > I personally think *[1, 2, 3] should be always unpacked first. > > a = *[1, 2, 3] #(unpack Array due to *) should be equal to: > a = 1, 2, 3 #(as Ruby is very smart) is equal to: (this is really the tricky part) > *a = 1, 2, 3 #which packs 1, 2, 3 into Array a. Hence is equal to > a = [1, 2, 3] > > a = *[1] #(unpack Array due to *) should be equal to: > a = 1 #(again, Ruby is smart it won't read this as *a = 1) Your way cannot interpret a = *[]. a = *[] a = It is not a valid Ruby statement. -- Tanaka Akira