There are two other ways to write

(fn [x] "foo")

1.  Use quote

#(quote "foo")

2.  Use the constantly function

(constantly "foo")

Both return a constant value.

Sean

On Aug 2, 7:47 am, Jarkko Oranen <chous...@gmail.com> wrote:
> Chad Harrington wrote:
> > I have a newbie question about anonymous functions.  Why does the first form
> > below work and the second form does not?
>
> > user> ((fn [] "foo"))
> > "foo"
>
> > user> (#("foo"))
> > ; Evaluation aborted.
>
> fn and #() are not interchangeable. In the first example, you simply
> return "foo". However, #("foo") expands to (fn [] ("foo")), so you end
> up calling a string, which of course fails.
>
> --
> Jarkko
--~--~---------~--~----~------------~-------~--~----~
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
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to