0

我正在尝试将参数列表传递给polygon函数:

(polygon [1 2] [3 4] [5 6])

(polygon pairs) ;;Throws exception

其中对:

clojure.lang.LazySeq  ([2.2935636 48.8580886] [2.2933061 48.8582457] [2.2935366 48.8584053] [2.2935553 48.8583952] ...)

通过 LazySeq 给出clojure.lang.LazySeq cannot be cast to java.lang.Number

我正在使用此功能配对

(def pairs  (map vector  poly-x  poly-y))

如何解开这个向量,以便编译器分别处理传递的参数

多边形签名:

(defn polygon
  "Create a polygonal shape with the given set of vertices.
  points is a list of x/y pairs, e.g.:

    (polygon [1 2] [3 4] [5 6])
  "
  [& points])
4

1 回答 1

1

当然 apply 是要走的路:

(apply polygon pairs)
于 2015-02-18T12:06:38.717 回答