【问题标题】:flat_map in Ruby 1.8.7Ruby 1.8.7 中的 flat_map
【发布时间】:2014-02-14 03:03:12
【问题描述】:

使用 Ruby 1.8.7,是否有类似于Array.map 的内置功能允许返回多个值而不仅仅是一个?例如。我有一个数组,每个元素都包含一个数组 - 我想最终得到内部数组中的所有值。例如,一个州数组,其中每个州都是一个县的数组 - 我想要一个所有县的数组。

@states.map_many { |o| o[:states] }

在较新版本的 Ruby 中与 Array.flat_map 相同。 http://ruby-doc.org/core-2.0.0/Enumerable.html#method-i-flat_map

【问题讨论】:

    标签: ruby ruby-1.8.7


    【解决方案1】:

    只需使用array.map { ... }.flatten

    要获取所有县,您可以使用...

    @counties = @states.map { |o| o[:states] }.flatten
    

    如果您只想扁平化一个级别(flat_map 在当前版本的 Ruby 中这样做),您可以将 1 传递给 flatten。这对于您的示例来说是不必要的,因为您正在构建一个最多具有两个维度的数组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-13
      • 1970-01-01
      • 1970-01-01
      • 2015-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多