Ich möchte zur Laufzeit ein Fn erzeugen (d. h. der Name und die Arg-Symbole werden zur Laufzeit und nicht im Code bestimmt) Was ist der beste Weg, dies zu erreichen?
Wie kann ich zum Beispiel die folgende Funktion implementieren?
%Vor%das würde so verwendet werden:
%Vor%Beachten Sie, dass der Funktionsname, die Argumente und der Text nicht codiert sind, aber zur Laufzeit festgelegt werden können.
Und einige verwenden:
%Vor% Allerdings mag ich diesen Ansatz nicht wirklich. Es riecht wirklich schwer: eval
. Warum möchten Sie zur Laufzeit Globals generieren? Ich sehe verschiedene Probleme mit falschen Namensräumen und anderen hässlichen Schluckauf am Horizont ...
Ich bin mir nicht ganz sicher, aber ich glaube, Sie könnten dies mit einem Makro tun, das Eval überlegen wäre.
%Vor%Tags und Links clojure functional-programming