Stephen C. Gilardi a écrit :
> Here are some suggestions of mine. I don't claim they're standard:
>
> - Avoid using an argument name or let-bound local name that
> "shadows" the (unqualified) name of a var you need to use within its
> scope
> - Failing that, use a namespace qualified sym
Eric a écrit :
> He said that I should use clojure.core/list instead of #'list. That
> is, to reference it with a fully-qualified name. But my understanding
> is that binding still changes clojure.core/list withing the binding
> form. Here, from my REPL:
>
> (let [list 10]
> (binding [list +]
Thanks so much!
--~--~-~--~~~---~--~~
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
clojure+unsubscr...@googl
On Feb 1, 2009, at 12:04 PM, Eric wrote:
So, my question is this: what is the difference/relationship between
#' and the fully-qualified name?
#'x is a sequence of characters that the reader (LispReader.java)
translates into (var x) when reading. (see http://clojure.org/special_forms#var)
I recently wrote on my blog that using #' was a good way to make sure
that you get the function definition you want despite the symbol being
rebound within a let. For instance:
(let [list 10]
(#'list 1 2 3))
=> (1 2 3)
cgrand responded (here:
http://www.reddit.com/r/programming/comments/7tn