【发布时间】:2017-03-29 19:07:38
【问题描述】:
我有一个原子:
{:answer1 "yes", :answer2 "no", :answer3 "maybe"}
我希望能够使用变量 x 来提取 :answerx 的值。
在我的 REPL 中,当我测试如何附加到字符串然后转换为符号时,这是可行的:
(symbol (str ":answer" 2))
结果是:answer2。但是,当我尝试在原子内执行此操作时,我得到 nil 的结果:
(get @answers-atom (symbol (str ":answer" 2)))
知道为什么会发生这种情况吗?
【问题讨论】:
-
旁注:您所说的“原子”实际上是“地图”。您可以将映射存储在原子内部(就像您在这里使用
answers-atom所做的那样),但它们是完全不同的概念,在这种情况下,您使用原子的事实是无关紧要的。
标签: clojure clojurescript