Ich schreibe einen Clojure-Code, der von einer Anzahl von Konstanten abhängt.Was ist das Clojure-Äquivalent einer "öffentlichen statischen endgültigen" Konstante in Java
Sie werden innerhalb enger innerer Schleifen verwendet, daher ist es wichtig, dass sie von der Clojure Compiler + JVM Kombination so effizient wie möglich genutzt und optimiert werden. Ich würde normalerweise eine "public static final" -Konstante in Java für den gleichen Zweck verwenden.
Was ist der beste Weg, diese zu deklarieren?
Das Hinzufügen der: const-Metadaten führt dazu, dass es zur Kompilierungszeit inline wird, siehe Antwort von @amalloy. Die globalen Defs sind Vars, die während des Schließens optimiert und zur Laufzeit aufgelöst werden können. – deterb