类型提示存储为clojure中的元数据?
Posted
技术标签:
【中文标题】类型提示存储为clojure中的元数据?【英文标题】:Type hint stored as metadata in clojure? 【发布时间】:2015-07-16 22:26:31 【问题描述】:这是一个简单的例子:
(let [^String y "abc"] (meta y)) ; returns nil
似乎根本没有元数据,为什么?
根据文档:
类型提示是放置在符号或表达式上的元数据标签 由编译器使用。
【问题讨论】:
【参考方案1】:(meta y)
返回 y
的元数据,而不是符号 y
。
您无法访问 let 正文中的符号 y
。只有在评估 let*
特殊形式时,评估者才能访问它。
(read-string "^String y")
;-> y ;; a symbol
(meta *1)
;-> :tag String
【讨论】:
以上是关于类型提示存储为clojure中的元数据?的主要内容,如果未能解决你的问题,请参考以下文章