Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
原子在Maclisp中具有属性。在Clojure中如何做同样的事情?_Clojure_Property List_Maclisp - Fatal编程技术网

原子在Maclisp中具有属性。在Clojure中如何做同样的事情?

原子在Maclisp中具有属性。在Clojure中如何做同样的事情?,clojure,property-list,maclisp,Clojure,Property List,Maclisp,引用1975年Maclisp参考手册:每个原子符号都有一个属性列表,可以使用plist函数检索 Maclisp属性列表是“指示符/值”对的列表。在麦克里斯普 (get x y) 获取x的y属性 (putprop x 'banana y) 将x的y属性设置为“香蕉” 我的任务是将许多旧的Maclisp代码转换成Clojure。我是Clojure的新手,但不会持续太久,因为这个项目正在展开。在我自己写东西之前,我想知道Clojure是否已经有了属性列表功能?或者是相近的 如果不是的话,组装好的C

引用1975年Maclisp参考手册:每个原子符号都有一个属性列表,可以使用plist函数检索

Maclisp属性列表是“指示符/值”对的列表。在麦克里斯普

(get x y)
获取x的y属性

(putprop x 'banana y)
将x的y属性设置为“香蕉”

我的任务是将许多旧的Maclisp代码转换成Clojure。我是Clojure的新手,但不会持续太久,因为这个项目正在展开。在我自己写东西之前,我想知道Clojure是否已经有了属性列表功能?或者是相近的


如果不是的话,组装好的Clojure神会让我做什么来实现这样的功能?请记住,Maclisp中的每个原子符号都可以但不必有属性列表。谢谢。

clojure具有与变量/数据值关联的元数据映射:

user> (def x [1 2 3])
#'user/x

user> (reset-meta! #'x {:my-data 1})
;;=> {:my-data 1}
请注意,此元数据与变量关联,而不是与变量绑定数据关联

user> (-> x var meta)
{:my-data 1}

user> (-> #'x meta) ;; short form
{:my-data 1}

user> (-> x meta)
nil
否则,可以将其附加到值本身:

user> (def x ^{:some-data 101} [1 2 3])
#'user/x
user> (meta x)
{:some-data 101}

取决于您希望如何使用它。

clojure具有与变量/数据值关联的元数据映射:

user> (def x [1 2 3])
#'user/x

user> (reset-meta! #'x {:my-data 1})
;;=> {:my-data 1}
请注意,此元数据与变量关联,而不是与变量绑定数据关联

user> (-> x var meta)
{:my-data 1}

user> (-> #'x meta) ;; short form
{:my-data 1}

user> (-> x meta)
nil
否则,可以将其附加到值本身:

user> (def x ^{:some-data 101} [1 2 3])
#'user/x
user> (meta x)
{:some-data 101}

取决于您想如何使用它。

地图。你在找地图。检查clojure的。@akond,不,他是在询问symbol的财产清单。这大致与clojure metadataBe类似。请务必查看以下文档资源列表:是的。非常感谢。我认为元数据会起作用。你在找地图。检查clojure的。@akond,不,他是在询问symbol的财产清单。这大致与clojure metadataBe类似。请务必查看以下文档资源列表:是的。非常感谢。我认为元数据会起作用。