【问题标题】:Ruby Array weird syntax [duplicate]Ruby Array奇怪的语法[重复]
【发布时间】:2013-10-11 19:42:44
【问题描述】:

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

a = [1,2,]

如果我再添加一个逗号,则会出现语法错误。

谢谢

【问题讨论】:

    标签: ruby internals


    【解决方案1】:

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

    a = [1, 2,]
    

    当数组定义在多行时,这特别方便:

    a = [
      1,
      2,
    ]
    

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

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

    哈希具有同样的便利性:

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

    【讨论】:

    • 其实这是推荐的多行写array/hash的方式。
    • 您也可以在将参数传递给方法时这样做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-05
    • 1970-01-01
    • 1970-01-01
    • 2012-03-14
    • 1970-01-01
    • 2018-08-08
    相关资源
    最近更新 更多