【发布时间】:2019-03-01 07:53:51
【问题描述】:
我在另一个问题中找到了以下语法,但我无法找到任何关于它的作用的文档 - 我假设某种语法糖:
[array1, array2, array3, array4].compact.reduce([], :|)
我允许其中一个数组是nil 而不是数组,并且看起来像一个魅力。谁能指出我正确的方向以了解发生了什么?
【问题讨论】:
-
有趣的发现!不过,作为记录,使用
array#flatten更具可读性,看起来就像它是等价的。 -
@Jules:不,不是扁平化。这里是数组的联合。
-
您的标题应该是“
Array#|是做什么的?” (尽管可以改进)。Array不是唯一具有名为:!的方法的类(例如,Integer#!。)标题中的“Ruby”是多余的,因为它是您的标签之一。
标签: ruby syntactic-sugar