2

誰かが私にこれを説明できますか?(defn -main) が Java によって認識される main メソッドを宣言していること、およびこれを (:gen-class) の名前空間と組み合わせて使用​​すると、Java をだまして clojure がオブジェクト指向であると考えさせることができることを理解していると思います。 、ただし、次のような関数を作成するだけでは、目的が何であるかはわかりません

(def- add2 (部分 + 2) )

または (defn-my-function...)

上記の仮定が間違っている場合、誰かがこれを簡単に説明したり、私を修正したりできますか?

**編集-部分関数の機能を理解しています:)上記と(def add2(部分+ 2))に違いがあるかどうか疑問に思っています

4

1 に答える 1

9

で定義された関数defn-は、それらが定義された名前空間の外ではアクセスできません。つまり、関数はprivateです。

defn-のソースを見てください。このマクロは、メタデータ ハッシュdefn{:private true}マージされた への呼び出しとして評価されます。

于 2013-01-13T14:45:48.640 に答える