このページではコレクションパイプラインパターンの操作について説明します。詳細については、次の項目をお読みください。

concat

コレクションを1つのコレクションに連結します。

ruby…
[1,2,3].concat([4,5])
# => [1, 2, 3, 4, 5]
clojure…
(concat [1 2 3] [4 5])
;; => (1 2 3 4 5)

2つ以上のコレクションを連結する場合、言語によってアプローチが異なります。

ruby…
[1,2,3].concat([4,5]).concat([6])
# => [1, 2, 3, 4, 5, 6]
clojure…
(concat [1 2 3] [4 5] [6])
;; => (1 2 3 4 5 6)

関数が引数のリストを受け取ることができるようにすることは自然なLispスタイルであり、連結に適しています。Rubyのconcat関数は1つの引数しか受け取りませんが、これは制限と見なすことができますが、concatを連結することで簡単に処理できます。

中置演算子をサポートする言語には通常、コレクションを連結する演算子があります。Rubyでは「+」です。

ruby…
[1,2,3] + [4,5] + [6]
# => [1, 2, 3, 4, 5, 6]

中置演算子を使用する場合は、括弧でグループ化して、それらを適切に連結する必要があります。

ruby…
([1,2,3] + [4,5] + [6]).select(&:odd?)
# => => [1, 3, 5]

また、通常、中置演算子はチェーンの先頭以外では適切に機能しません。