3

通常、関数の構造は同じです。

(defn func-name
  ([] (some actions))
  ([ar] (some actions))
  ([ar aar] (some actions)))

通常、このバリアントの 1 つだけがpublic. しかし、私のエントリからわかるように、私の機能はすべて、の代わりにpublic使用しているためです。ただし、オーバーロードされたすべてを含むすべての機能を非表示にします。defndefn-defn-

オーバーロードされた関数の一部だけを「隠す」方法はありますか?

たとえば、アリティが 1 と 2 の関数名を隠したいとします。

Ofcorse 次のように、オーバーロードされた関数を内部に隠すことができますdefn

(defn awesome[]
  (let [func (fn some-func ([] (some actions))
               ([ar] (some actions)))]
    (func)))

しかし、それは少し厄介だと思います。それを解決する方法が必要だと確信しています。

ありがとう!

4

1 に答える 1