在Python中,可以將一個列表或元組傳遞給一個函數,並讓該函數解開參數。我如何在Clojure中做到這一點?下面是一些例子Python代碼:如何解構一個向量作爲函數參數使用
def f (a, b, c, *d):
print "a: ", a
print "b: ", b
print "c: ", c
print "d: ", d
f (1, 2, 3, 4, 5, 6)
print
v = (4, 5, 6)
f(1, 2, 3, *v)
結果:
a: 1
b: 2
c: 3
d: (4, 5, 6)
a: 1
b: 2
c: 3
d: (4, 5, 6)
在我的Clojure代碼
:
(defn f [a b c & d]
(println "a: " a)
(println "b: " b)
(println "c: " c)
(println "d: " d))
(f 1 2 3 4 5 6)
(println)
(def v [4 5 6])
(f 1 2 3 v)
結果:
a: 1
b: 2
c: 3
d: (4 5 6)
a: 1
b: 2
c: 3
d: ([4 5 6])
的d只有一個單元只,我如何讓結果作爲python代碼?
或者只(以F 1 2 3 V) – Alex
(申請(concat [1 2 3] v))很好,我可以連接其他的:(應用f(concat [1 2 3] v [7 8 9])) –