Il y a quelque chose que je ne comprends pas à propos des fonctions anonymes utilisant la notation courte # (..)
Les travaux suivants:
REPL> ((fn [s] s) "Eh")
"Eh"
Mais cela ne:
REPL> (#(%) "Eh")
Cela marche:
REPL> (#(str %) "Eh")
"Eh"
Ce que je ne comprends pas, c'est pourquoi (# (%) "Eh") ne fonctionne pas et en même temps je n'ai pas besoin d'utiliser str in ((fn [s] s) "Eh")
Ce sont toutes deux des fonctions anonymes et elles prennent toutes les deux, ici, un paramètre. Pourquoi la notation abrégée a-t-elle besoin d'une fonction alors que l'autre notation n'en a pas?
la source