just wondering the difference between the presence of the last comma in the array, if there is any at all
>> [1,2,3]
=> [1, 2, 3]
>> [1,2,3,]
=> [1, 2, 3]
The second array still works, no exception raised
Thanks
-
I suggest that you edit the question title into something a bit more explanatory.Daniel Daranas– Daniel Daranas2009年11月24日 16:15:46 +00:00Commented Nov 24, 2009 at 16:15
-
I cleaned it up for him a littleAllen Rice– Allen Rice2009年11月24日 16:17:05 +00:00Commented Nov 24, 2009 at 16:17
3 Answers 3
There's no difference. In Ruby, you're free to add a trailing comma to an array. It makes syntax like this:
a = [
1,
2,
3,
]
A bit nicer, in some cases (e.g., if you want to add an element, you simply add a 4, line and don't have to worry about checking for a comma on the last line).
3 Comments
It isn't a error, just a empty value(ignored by the compiler), but I suggest you to read Understanding Ruby Arrays
1 Comment
There is nothing special about arrays.
[1,2,3]
is the same as
Array.[](1,2,3)
so the values are just method call parameters. The same applies to
{a: 1, b: 2}
which is the same as
Hash.[](:a, 1, :b, 2)
And the reason trailing commas are allowed in method-call parameters is just because Ruby is designed like that, for the reasons of convenience that @mipadi mentioned.