【发布时间】:2019-02-17 23:32:56
【问题描述】:
我正在寻找一个等价于Array#|的方法,其方法名称是普通的单词。
a = [1, 2, 3]
b = [3, 4, 5]
a|b # => [1, 2, 3, 4, 5]
我不是在寻找新方法。我可以编写任何可以完成此任务的方法。这不是我要问的。我想知道是否有别名。有没有像 a.merge(b) 这样的方法不是 2.5.1 中数组的有效方法?
2.5.1 版本的文档中描述了| 与Array.union(another_array) 相同。但它会引发错误。
a.union(b) # >> undefined method `union' for [1, 2, 3]:Array (NoMethodError)
union有这样的写法吗?
【问题讨论】:
-
a.|(b)。你觉得这书面够吗? -
好的。
a | b现在是为你写的。可能是(a + b).uniq写得更多? -
union是在 2.6 中引入的,它在 2.5 中不可用,您是正确的,因为它似乎没有替代命名方法|(这可能是他们添加union的原因/跨度> -
我在ruby-doc.org/core-2.5.1/Array.html 上没有看到名为
union的方法。您正在查看其他文档吗? -
顺便说一句,Ruby 2.6 中的
union不仅仅是|的别名——与运算符不同,它可以接受多个 参数。就像pushvs<<。