我在宏展开 (with-open ...)
时注意到了一些奇怪的地方。
(finally ...)
部分看起来像这样
(finally (. stream clojure.core/close))
虽然这段代码能工作,但我觉得它不够地道。
我推测,如果将来在核心命名空间中添加了函数 clojure.core/close
,可能会出现错误。
我是对的,还是说,方法 close
被命名空间限定实际上没有关系,因为任何进入点特殊形式调用 (. object method)
的函数都会被视为一个方法名,而不管它的命名空间是什么?