小编use*_*953的帖子

clojure:with-redefs不能与clojure.core函数一起使用?

我有一个问题with-redefs.以下示例无法按预期工作.In findmax,clojure.core/max始终在with-redefs语句中调用而不是匿名函数 .

(defn findmax [x y]
  (max x y))

(with-redefs (clojure.core/max (fn [x y] (- x y)))
  (findmax 2 5))
Run Code Online (Sandbox Code Playgroud)

当我进行以下更改时,一切都按预期工作:

(defn mymax [x y]
  (max x y))

(defn findmax [x y]
  (mymax x y))

(with-redefs (my/max (fn [x y] (- x y)))
  (findmax 2 5))
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?

clojure

8
推荐指数
1
解决办法
662
查看次数

标签 统计

clojure ×1