私はすべてが異なることをするが、同じデータが渡される一連の機能を持っています。パラメータベクトルとして次のものがあるとします。clojureの反復関数のパラメータを避けるには?
[{:keys [x y vx vy x-min x-max y-min y-max] :or {x-min 0 x-max c-width y-min 0 y-max c-height}}]
基本的に2回以上繰り返す必要がないタイプのものです。私が持っていた考えのようなものをすることでした。
(def func-args [x y z])
(defn func func-args (+ x y z))
同様の機能を持っていれば、func-argsを再利用できます。しかし、前の例の最初の行は、シンボルxを解決できないというエラーを投げます。
- ベクターメンバーをシンボルとして残す方法はありますか?
- 私が提案している方法よりも機能パラメータコードの膨らみ削減を達成するために、より慣れ親しんだ方法がありますか?
あなたがそれらのベクトル値をバインドする場合は、」あなたが得ているエラーを避けるでしょう。 – jmargolisvt
ここで本当に問題になるのは、これらの引数をすべて使用すると、関数が複雑すぎるということです。 –