串接
將集合串接成單一集合
ruby…
[1,2,3].concat([4,5]) # => [1, 2, 3, 4, 5]
clojure…
(concat [1 2 3] [4 5]) ;; => (1 2 3 4 5)
如果您想要串接兩個以上的集合,您會發現不同的語言有不同的方法。
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 函式只採用一個引數,您可以將其視為限制,但透過串接 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]
而且與中綴運算子一樣,它們只能在串接的開頭正常運作。