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
Dictionary 如何返回地图中的所有关键字_Dictionary_Clojure - Fatal编程技术网

Dictionary 如何返回地图中的所有关键字

Dictionary 如何返回地图中的所有关键字,dictionary,clojure,Dictionary,Clojure,我想返回地图中出现的所有关键字。例如: {:a 1 :d 4 :e 4} 我想得到(:a:d:e)。我的代码是 (get {:a 1 :d 4 :e 4} :keywords) 它返回零。那么如何修复它呢 我猜您想从地图上获取所有的键。您可以使用以下方法完成此操作: (keys {:a 1, :d 4, :e 4} ;; => (:a :d :e) 如果要在地图中显示为关键字时获取所有关键字,则需要筛选仅匹配关键字?谓词: (filter keyword? (keys {:a 1,

我想返回地图中出现的所有关键字。例如:

{:a 1 :d 4 :e 4}
我想得到(:a:d:e)。我的代码是

(get {:a 1 :d 4 :e 4} :keywords)

它返回零。那么如何修复它呢

我猜您想从地图上获取所有的
键。您可以使用以下方法完成此操作:

(keys {:a 1, :d 4, :e 4}
;; => (:a :d :e)
如果要在地图中显示为关键字时获取所有关键字,则需要
筛选
仅匹配
关键字?
谓词:

(filter keyword? (keys {:a 1, 'd 4, :e 4, "f" 5}))
;; => (:a :e)
类似地,对于地图值中的关键字:

(filter keyword? (vals {:a :b, "c" :d, 4 "e", 5 'f}))
;; => (:b :d)

如果你的地图是
{:a:b,:d4,5:e,7[8:f:g]}
,你想要什么输出?从地图中请求关键字几乎没有意义。映射的
键可以是任何值-数字、字符串、任何类型的集合。通常选择关键字是因为它们是易于查找的文字。您甚至可以将函数作为键,尽管这很少有用,因为函数只有在相同时才相等。