将键作为其值的函数应用

问题描述 投票:0回答:1

假设您有一个特殊的映射,其中每个键都可能代表一个 Clojure 核心函数:

{:inc 1 :dec 2 :identity "three"}

你会写什么来将每个键(作为一个函数)应用到它自己的值?

输出应该是这样的:

(2 1 "three")

此代码未能产生我所期望的结果:

user=> (def mm {:inc 1 :dec 2 :identity 3})
user=> (map #((symbol (first %)) (get % 1)) mm)
(nil nil nil)
clojure
1个回答
0
投票

resolve 包裹符号解决了这个问题:

(resolve (symbol (...)))

更详细的解释在这里:https://stackoverflow.com/a/63208807/4903731

© www.soinside.com 2019 - 2024. All rights reserved.