【问题标题】:one line ruby array creation and population一行 ruby​​ 数组创建和填充
【发布时间】:2009-09-10 12:28:52
【问题描述】:

这是相当微不足道的,但我还没有使用谷歌或这个论坛找到答案,这让我无休止地困扰着。但是我怎样才能把它变成一条线呢?不必在上面声明房间数组?

rooms = []
hwdata.availability.each {|room| rooms << room.name}

【问题讨论】:

    标签: ruby arrays


    【解决方案1】:
    rooms = hwdata.availability.collect {|room| room.name}
    

    或者在 Ruby 1.9 中,更简洁:

    rooms = hwdata.availability.collect &:name
    

    【讨论】:

      【解决方案2】:

      或者你也可以使用#map。

      房间 = hwdata.availability.map {|房间|房间名称}

      【讨论】:

      • 更多信息:map 只是 collect 的另一个名称。所以你真的可以使用任何一个。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-30
      • 2015-02-04
      • 2017-03-22
      相关资源
      最近更新 更多