質問

問題:

実行時に作成したい機能f_1 ... f_nのセットがあるとします。

(f_a (f_b (f_c) (f_d)) (f_e))
.

そのため、互いに差し込むことができる関数を知るために、各関数のパラメータと戻り値の種類が必要です。

最初の試行:各関数

に注釈を付ける
(defn foo [n f]
  ^{:params [Number clojure.lang.Fn]
    :return String}
  (do stuff with f and n, return a string))
.

私は、私がClojure.Coreを使用したいのかどうかのようなこのアプローチが好きではありません。

質問

  1. この問題を解決しようとしますか?

  2. core.typedはそれを使って助けてくれる?

役に立ちましたか?

解決

Solrに渡す検索クエリを作成して、すべての関数に引数のマップを使用し、それらをすべての関数にマップを使用すると、マップに含まれているものはすべて、マップに含まれていることを決定したものであれ、他のすべての関数のマップを返します。変更されていません。だから私は短いでしょう:

  1. すべての関数の入力と出力にマップを使用してください
  2. core.typedはすべてマップ
  3. であるために役立ちません。
  4. PRISSCATITESSCHEMAは、どのキーが必要かを知るためにそれを使用し、これらのマップの構造を検証するテストを書くことができるので、非常にに役立ちます。
  5. 静的に入力された機能言語への傾きを多くするプロジェクト/人々は、このような場合には、このようなモナドに変わる可能性があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top