代码之家  ›  专栏  ›  技术社区  ›  nonopolarity

为什么Ruby的Array.map()也称为Array.collect()?

  •  3
  • nonopolarity  · 技术社区  · 14 年前

    每当我看到Ruby代码说:

    arrayNames.collect { ... }
    

    我忘记了collect是什么,只能查找它是什么,发现它与map()相同。

    3 回复  |  直到 14 年前
        1
  •  4
  •   Jörg W Mittag    14 年前

    再加上其他的答案,这就像是一个在Smalltalk里的内部笑话:

    • inject:into:
    • collect:
    • select:
    • reject:
    • detect:

    找到图案了吗?

        2
  •  5
  •   mikej heading_to_tahiti    14 年前

    它来自过去的闲聊。使用Smalltalk collect select 而不是 map filter (如在许多其他语言中使用的)用于迭代其集合。

        3
  •  3
  •   Community dbr    7 年前

    kriss 方法名起源于Smalltalk是正确的,但是为了帮助记住当您看到它被使用时它做了什么,您可以将它想象为“在一个新数组中从块中收集结果”。