[英]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.