为什么这样做:
(ns image-test.core
(:gen-class)
(:require (png-extract)
[clojure.string :as string]))
但这失败了:
(ns image-test.core
(:gen-class)
(:require [png-extract :as png]
[clojure.string :as string]))
我认为[]总是要求。请启发。
答案 0 :(得分:2)
(:require (png-extract))
是无操作,“无所事事”是“成功”。在这里使用parens意味着你要开始一个前缀列表,比如(:require (clojure set string))
需要clojure.set
和clojure.string
;因为你没有在png-extract
之后放置任何名称空间,所以它根本不需要任何东西。使用[]
是正确的,但它失败了,因为png-extract
命名空间有问题:可能它不存在,或者以某种方式被破坏。
答案 1 :(得分:1)
以下是使用两种形式的示例:
image-test.core> (ns image-test.core
(:gen-class)
(require [clojure.string :as foo ]
[clojure.string :as string]))
nil
image-test.core> (ns image-test.core
(:gen-class)
(require (clojure.string)
[clojure.string :as string]))
也许是png-extract依赖的东西?