Using defn or fn it's easy to create a function that taking one argument that ignores it and returns 1:
(defn ret1 [arg] 1)
(fn [arg] 1)
Is it possible to do this with the #() macro? I don't mean using something ugly or "cheating" like
#(/ % %) or
#(if (nil? %) 1 1)
I mean literally ignoring the parameter and returning 1. I can't find a clean syntax that works.
#(do %& 1)
... but (constantly 1)
is better.
The #() syntax can't be used to create functions that have unused parameters in the way your description requires. This is a limitation of the #() reader macro.
I would recommend not using #() and instead just writing (constantly 1) which is a very brief way to create a function that ignores a parameter and instead always returns 1.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With