gpt4 book ai didi

clojure - 卡萨福特/clojure : never ending program

转载 作者:行者123 更新时间:2023-12-02 13:40:00 25 4
gpt4 key购买 nike

我尝试使用 Cassaforte 查询我的 cassandra 数据库,但是当我启动代码时,它永远不会结束。

(defn cassandra []
(let [conn (cc/connect ["127.0.0.1", "127.0.0.2", "127.0.0.3"])
table "mytable"]
(cql/use-keyspace conn "mykeyspace")
(cql/select conn table (limit 10))))

(defn -main
"I don't do a whole lot ... yet"
[& args]
(println "Hello, World!")
(let [result (cassandra)]))

结果:

$ lein run
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Hello, World!
[the program is waiting here]

如果我打印结果变量,它包含行,但之后出现同样的问题。

有什么想法吗?

最佳答案

你的程序已经完成了,你只是没有告诉 JVM 你明确想要在 main 结束时退出。您可以通过添加以下内容来做到这一点:

(System/exit 0) 

到你的-main的末尾。与仅用 java 编写的相对较小的程序不同,Clojure 在后台启动了一些线程池,以便代理等运行。这些导致 JVM 认为某些线程可能仍想运行并且不会立即退出。从那时起,这已被 Clojure 社区采纳为一项功能。

关于clojure - 卡萨福特/clojure : never ending program,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31511398/

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