【发布时间】:2011-10-16 17:54:52
【问题描述】:
lazy-xml 的来源如下:
(:use [clojure.xml :as xml :only []]
[clojure.contrib.seq :only [fill-queue]])
使用clojure.xml 但没有列出:only 参数的目的是什么?
【问题讨论】:
标签: clojure
lazy-xml 的来源如下:
(:use [clojure.xml :as xml :only []]
[clojure.contrib.seq :only [fill-queue]])
使用clojure.xml 但没有列出:only 参数的目的是什么?
【问题讨论】:
标签: clojure
注意:as xml 与:only [] 组合时似乎使该行等效于(:require [clojure.xml :as xml])。如果您想将一些 var 复制到本地命名空间(即非空 :only)中,该样式可能很有用,但允许该命名空间的其余部分通过 :as 显式别名。既然他不是那样做的,那它真的应该只是一个:require。
【讨论】:
:use 声明并且不想编写单独的:require 子句。不是 IMO 推荐的决定,但如果他只有一个以这种方式使用的命名空间,那将为他节省几个字符。
ns 宏是组合使用/要求的形式,您必须以某种方式指定您希望将哪个部分解释为use,以及将哪个部分解释为require。他不能只是神奇地猜测。
use 和require 功能”?