开发者

Expand an seq into individual scalars

开发者 https://www.devze.com 2023-03-16 12:23 出处:网络
I wan开发者_JAVA技巧t to feed the members of a lazy seq produced by map as individual arguments to another function. Is there a function that splices a (lazy) seq? Use apply.

I wan开发者_JAVA技巧t to feed the members of a lazy seq produced by map as individual arguments to another function. Is there a function that splices a (lazy) seq?


Use 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

As you can see, function f takes 5 arguments and (range 5) returns a lazy seq of 5 arguments.

Just make sure the size of the seq is the same as the amount of arguments expected by the function, or you will get an exception at runtime.

0

精彩评论

暂无评论...
验证码 换一张
取 消