几种称呼"use"的方式?



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

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

非常感谢!

(:use ...)形式是传递给ns的指令,而不是map的解引用。Ns是一个宏,所以Ns形式的东西不能用标准方法求值。:use指令在ns形式下会导致ns调用(use…)。

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

最新更新