为什么ns-resolve之后:参考:所有找不到我的符号?

时间:2016-01-06 06:25:32

标签: clojure

如果我用

开始一个程序
(ns dailyprogrammer.core
  (:gen-class)
  (:require [dailyprogrammer.other :refer :all]))

然后稍后尝试使用helloother解析resolve内定义的函数ns-resolve,如下所示:

(resolve (symbol "hello"))
(ns-resolve *ns* (symbol "hello"))

我得到了nil。但我可以简单地致电

(hello)

哪个会奏效。为什么我不能使用任何解析功能?

1 个答案:

答案 0 :(得分:4)

ns-resolve不查找*ns*中可见的符号,它会查找*ns*中定义的符号。 :refer :all使得其他ns中的所有符号在您的定义中都可见,它不会将其变量移动或复制到您的ns中。