我想将map生成的lazy seq的成员作为单个参数提供给另一个函数。是否存在拼接(懒惰)seq的函数?
答案 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的大小与函数预期的参数数量相同,否则您将在运行时获得异常。