On Nov 29, 9:06 am, "Stephen C. Gilardi" <[EMAIL PROTECTED]> wrote:
> On Nov 29, 2008, at 8:03 AM, Ralf Bensmann wrote:
>
> > But #(...) and (fn [] ...) should be the same?
>
> The other replies have noted why that's not right.
>
> There is a way to get the effect you were looking for. If you want to
> return a constant or do something with side-effects before returning a
> value, you can use do:
>
> #(do nil) is a function that will always return nil
>
> #(do (prn "hi") 5) will print "hi" and then return 5
>

I really dislike the use of do other than for side effects. I imagine
a code checker which will eventually flag usage of do et al.

Someone did show (fn [] nil). If it's somehow important to use #(),
please use:

#(identity nil)

Rich

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to