簡體   English   中英

如何避免Clojure函數解構參數向量?

[英]How to avoid Clojure function destructuring argument vector?

我有一個參數,它會不斷采用我的向量參數並對其進行結構分解,即使我嘗試通過多種方式來避免它。

錯誤:

clojure.lang.ArityException: Wrong number of args (5) passed to: core$build-par-sel$fn

嘗試1:

(defn build-par-sel
  [& {:keys [^clojure.lang.PersistentVector par-vals best-val]}]
  ; Do stuff...
)
(let [best 100.0
          pars [1.0 2.0 3.0 4.0]]
      (let [par-sel (build-par-sel 
                           :par-vals pars
                           :best-val best)]))))

嘗試2:

(defn build-par-sel
  [& {:keys [par-vals best-val]}]
  ; Do stuff...
)
(let [best 100.0
          pars [1.0 2.0 3.0 4.0]]
      (let [par-sel (build-par-sel 
                           :par-vals pars
                           :best-val best)]))))

嘗試3:

(defn build-par-sel
  [par-vals best-val]
  ; Do stuff...
)
(let [best 100.0
          pars [1.0 2.0 3.0 4.0]]
      (let [par-sel (build-par-sel pars best)]))))

據報告,您粘貼的異常發生在build-par-sel創建的某些匿名函數中,在build-par-sel的定義內。 如果沒有看到該函數的主體,我們將無法做更多的工作來解決該問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM