2

(use 'korma.db)和有什么区别(:use korma.db)

从功能上讲,它们似乎在做同样的事情,但是一个看起来像是函数调用,另一个看起来像是取消引用映射?为什么有两种写法以及它们最终如何做同样的事情?

非常感谢!

4

1 回答 1

5

表单是传​​递给 ns的(:use ...)指令,而不是映射的取消引用。ns 是一个宏,因此 ns 形式的内容不会以标准方式进行评估。ns 形式的 :use 指令导致 ns 调用 (use ...)。

由于“使用”对调用它的 ns 中完成的所有评估都有影响,因此在声明命名空间的上下文中指定它而不是在代码中的其他地方随机调用它是有意义的。

于 2013-05-12T22:15:57.190 回答