Ruby Array奇怪的语法

时间:2013-10-11 19:42:45

标签: ruby internals

为什么这样做? (至少在Ruby 2.0上)

  

a = [1,2,]

如果我再添加一个逗号,我会收到语法错误。

由于

1 个答案:

答案 0 :(得分:3)

在定义数组时,Ruby允许(但不要求)最后一个元素有一个尾随逗号:

a = [1, 2,]

当数组定义在多行上时,这非常方便:

a = [
  1,
  2,
]

每个元素都在它自己的行上,并且每个元素都有一个尾随逗号,编辑列表是微不足道的:它可以添加,删除,重新排序等,而不必担心尾随逗号,而不必触摸除您正在编辑的行以外的任何行。例如,如果添加新元素,则不必在前面的元素中添加逗号。

不允许连续使用两个逗号。

哈希允许同样的便利:

h = {
  :a => 1,
  :b => 2,
}