将seq扩展为单个标量

时间:2011-06-29 18:08:23

标签: map clojure seq

我想将map生成的lazy seq的成员作为单个参数提供给另一个函数。是否存在拼接(懒惰)seq的函数?

1 个答案:

答案 0 :(得分:6)

使用apply

(defn f [a b c d e]
  (str "a = " a " b = " b " c = " c " d = " d " e = " e))

(println (apply f (range 5)))

;; prints: a = 0 b = 1 c = 2 d = 3 e = 4

如您所见,函数f需要5个参数,(范围5)返回5个参数的惰性序列。

确保seq的大小与函数预期的参数数量相同,否则您将在运行时获得异常。