在Clojure中为什么要使用:只有[]

And*_*rew 10 clojure

lazy-xml的源代码如下:

(:use [clojure.xml :as xml :only []]
      [clojure.contrib.seq :only [fill-queue]])
Run Code Online (Sandbox Code Playgroud)

使用的目的是clojure.xml什么,但没有为:only参数列出任何内容?

Ale*_*art 12

注意:as xml哪个与the结合时:only []似乎使该行相当于(:require [clojure.xml :as xml]).如果要将某些变量复制到本地名称空间(即非空:only),则该样式可能很有用,但允许通过明确别名来覆盖该名称空间的其余部分:as.因为那不是他正在做的事情,所以它应该只是一个:require.

  • 编写此代码的人可能已经有一堆`:use`声明,并且不想编写单独的`:require`子句.不是推荐的决定IMO,但如果他只有一个他用这种方式使用的命名空间,它会为他节省几个字符. (3认同)