gpt4 book ai didi

clojure - 在 REPL 中重新加载命名空间时获取 IllegalStateException

转载 作者:行者123 更新时间:2023-12-03 22:35:10 25 4
gpt4 key购买 nike

我的命名空间声明如下所示:

(ns test.foo
(:use
[clj-http.client :only (get) :as client]
[net.cgrand.enlive-html :only (select) :as html]))

我第一次使用它时,它在 REPL 中运行良好。然后,当我修改代码并在 REPL 中尝试以下操作时:
(use :reload 'test.foo)

我得到:
java.lang.IllegalStateException: get already refers to: #'clj-http.client/get in namespace: test.foo (foo.clj:1)

我在逆时针的 window 上,也尝试过 leiningen (lein repl)。

最佳答案

您不应该意外地隐藏核心 fns。你必须明确你的意图:

(ns test.foo
(:refer-clojure :exclude [get]) ; suppress the shadowing warning
(:require [clojure.core :as core]) ; allow to still reach clojure.core/get through core/get
(:use
[clj-http.client :only (get) :as client]
[net.cgrand.enlive-html :only (select) :as html]))

关于clojure - 在 REPL 中重新加载命名空间时获取 IllegalStateException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4648634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com