任何人都可以向我解释这个阵列声明吗?

时间:2009-11-24 16:14:32

标签: ruby arrays declaration

只是想知道数组中最后一个逗号的存在之间的区别,如果有的话

>> [1,2,3]
=> [1, 2, 3]

>> [1,2,3,]
=> [1, 2, 3]

第二个数组仍然有效,没有异常提升

由于

3 个答案:

答案 0 :(得分:7)

没有区别。在Ruby中,您可以自由地向数组添加尾随逗号。它的语法如下:

a = [
  1,
  2,
  3,
]

在某些情况下更好一点(例如,如果你想添加一个元素,你只需添加4,行,而不必担心在最后一行检查逗号。) / p>

答案 1 :(得分:0)

这不是错误,只是一个空值(编译器忽略),但我建议你阅读Understanding Ruby Arrays

答案 2 :(得分:0)

数组没有什么特别之处。

[1,2,3]

相同
Array.[](1,2,3)

所以这些值只是方法调用参数。这同样适用于

{a: 1, b: 2}

相同
Hash.[](:a, 1, :b, 2)

在方法调用参数中允许使用尾随逗号的原因仅仅是因为Ruby的设计是这样的,为了方便@mipadi提到的原因。