gpt4 book ai didi

clojure - 命名空间对象的名称

转载 作者:行者123 更新时间:2023-12-04 16:52:49 24 4
gpt4 key购买 nike

有没有办法通过名称获取命名空间对象?例如:

(def ns-symbol (ns-name *ns*))          ;; get namespace name as symbol
(def ns-object (ns-by-name ns-as-str)) ;; convert it back to namespace object

所以在这个例子中我需要函数 ns-by-name .

最佳答案

(ns-name *ns*)返回一个符号而不是一个字符串,所以你的 ns-as-str 被错误命名......

(type (ns-name *ns*))
clojure.lang.Symbol

鉴于此,将其转换回来就像...
(find-ns (ns-name *ns*))
#<Namespace user>

如果您真的希望命名空间的名称是字符串...
(def ns-as-str (str (ns-name *ns*)))
(def ns-object (find-ns (symbol ns-as-str))

关于clojure - 命名空间对象的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10200651/

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