Clojure映射键,键名称中包含空格

use*_*355 7 clojure map

我对Clojure很新.我有一个数据库结果的映射,它包含键值,例如:

{:Unique Product ID "09876" :ProductName "XYZ"}
Run Code Online (Sandbox Code Playgroud)

我想从地图中检索值,但我在获取唯一产品ID时遇到问题.

ProductID (str ( map-name ":Unique Product ID"))
Run Code Online (Sandbox Code Playgroud)

产品名称使用正常:

ProductName (str ( map-name :ProductName"))
Run Code Online (Sandbox Code Playgroud)

我不确定如何处理产品ID字段键中的空格.我该如何从地图中检索该键的值?

谢谢

Jef*_*ton 16

试试(关键字"唯一产品ID")


sw1*_*1nn 7

空格不是关键字中的有效字符,您正在尝试做一些几乎肯定会在将来引起痛苦的事情.

请注意,关键字函数不会验证它的输入,所以@ jeff-johnston是不正确的我害怕.

这里冗长的讨论:

https://groups.google.com/d/topic/clojure/WvXYkvLoQhI/discussion

clojuredocs在讨论之后使用新的文档字符串进行了更新,请参见此处:

http://clojuredocs.org/clojure_core/clojure.core/keyword