2011-08-11 8 views
3

juxt内で使用する関数のリストを定義したいと思いますが、実装には問題があります。相続人clojure、関数のリストを使用

私が何をしたいの例:

(defn sin [n] (Math/sin n)) 
(defn cos [n] (Math/cos n)) 
((juxt sin cos) 4) 
>> [-0.7568024953079282 -0.6536436208636119] 

は今の代わりに((juxt sin cos) 4)を言って、私は (def trig [sin cos])((juxt trig) 4)を言うことを好むだろう。私は((apply juxt trig) 4)といくつかの他のものを試みたが、何も固執していないようだ。ありがとう!

答えて

5

applyが正常に動作するようです:

user=> ((juxt sin cos) 4) 
[-0.7568024953079282 -0.6536436208636119] 
user=> ((apply juxt trig) 4) 
[-0.7568024953079282 -0.6536436208636119] 
+0

thx ...次回はチェックreplがきれい、教訓 – ChrisR

5

は、私はあなたが正しい解決策を持っていると思います。私のために働いています:

Clojure 1.2.1 
user=> (defn sin [n] (Math/sin n)) 
#'user/sin 
user=> (defn cos [n] (Math/cos n)) 
#'user/cos 
user=> (def trig [sin cos]) 
#'user/trig 
user=> ((apply juxt trig) 4) 
[-0.7568024953079282 -0.6536436208636119] 
関連する問題