static
public
Java クラスのいくつかのフィールドに基づいて関数を動的に作成しようとしています。したがって、1つのファイルには次のようなものがあります。
(intern *ns* (symbol (get-fieldname-from-class class)) some-func)
問題は、まだ定義されていない特定の関数を呼び出したいことです。
たとえば、Java クラスには static intPARENTHESIZED_EXPRESSION
フィールドがあります。これからparenthesized-expression?
関数を生成します。これは非常にうまく機能しますが、REPL
この関数を使用する Clojure ファイルをロードすると、
括弧内の式を解決できませんか?
エラー。したがって、シンボルが最初にインターンされていることを確認する必要があります。これどうやってするの?
これはあまり機能的なアプローチではないことはわかっていますが、このクラスのすべてのフィールドに対してほぼ 80 の同様の関数を入力するのは少しためらっています。また、このクラスは変更される可能性があります。