gpt4 book ai didi

clojure - 无法在 Clojure 中定义类?

转载 作者:太空宇宙 更新时间:2023-11-03 19:00:56 24 4
gpt4 key购买 nike

我正在关注 Clojure in Action 第 326 页的示例,

 (defn new-object [klass]
(fn [command & args]
(condp = command
:class klass)))

然后我输入:(def cindy (new-object Person))

它给我:CompilerException java.lang.RuntimeException: Unable to resolve symbol: Person in this context, compiling:(/Users/sdfsd/clj/teSTLein/src/teSTLein/sdf:22:12)

如果我将 Person 更改为“Person”或“Person”,它就会起作用。但我认为这不是解决这个问题的正确方法,因为 Person 应该是一个类,而“Person”是类的名称。有人可以告诉我为什么我会遇到这个问题吗?谢谢!

最佳答案

 (import package-and-name-of-your-person-class)

或者不导入,在函数调用中使用 package-and-name-of-your-person-class 代替 Person 作为参数

(def cindy (new-object package-and-name-of-your-person-class))

关于clojure - 无法在 Clojure 中定义类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20132421/

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