Kurzform der anonymen Funktion

Es gibt etwas, das ich nicht über anonyme Funktionen mit der Kurznotation # (..) verstehe

Die folgenden Arbeiten:

REPL>  ((fn [s] s) "Eh")
"Eh"

Das tut es aber nicht:

REPL>  (#(%) "Eh")

Das funktioniert:

REPL> (#(str %) "Eh")
"Eh"

Was ich nicht verstehe, ist warum(# (%) "Eh") funktioniert nicht und gleichzeitig muss ich nicht verwendenstr im((fn [s] s) "Eh")

Sie sind beide anonyme Funktionen und nehmen hier beide einen Parameter an. Warum benötigt die Kurzschreibweise eine Funktion, die andere nicht?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage