gpt4 book ai didi

clojure - 如何将 Clojure 命名空间转换为字符串?

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

我正在尝试漂亮地打印 namespace 列表:

(doseq [x (all-ns)] (println x))

这会将每个 namespace 打印为 #<Namespace xxxxx> 。我想将每个命名空间设置为 xxxxx (即没有 #<Namespace> 。我尝试 (name x)(symbol x) 但我得到 ClassCastException clojure.lang.Namespace cannnot be cast to java.lang.Named 等。

(doseq [x (all-ns)] (println (name x)))
(doseq [x (all-ns)] (println (str x)))
(doseq [x (all-ns)] (println (namespace x)))

如何获取字符串形式的 namespace ?

最佳答案

使用ns-name :

(doseq [x (all-ns)] (println (ns-name x)))

请注意,ns-name 为您提供了一个符号。因此,如果您想要一个字符串,只需使用 (str (ns-name ns))

关于clojure - 如何将 Clojure 命名空间转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35997380/

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