标签: clojure functional-programming
我有以下代码:
(ns mylib-clojure.core) (defn foo2 [x] (inc x)) (defn foo1 [x] (foo2 x))
函数foo2仅在foo1内部使用。假设我不想公开函数foo2,所以我为我的命名空间的用户提供了一个较小的API。是否可以将foo2设为“私人”?
foo2
foo1
答案 0 :(得分:3)
您可以将foo2声明为"private":
(defn- foo2 [x] (inc x))
在mylib-clojure.core之外无法看到。可以找到defn-的文档here。另一种选择是在foo1:
mylib-clojure.core
defn-
(defn foo1 [x] (let [foo2 (fn [x] (inc x))] (foo2 x)))