clojure - 在clojure中使用变量作为dict键
问题描述
假设我有这样的代码
(def person {:name "Steve" :age 24 :salary 7886 :company "Acme"})
(def nm 'name)
(println (person :nm))
我想使用变量作为字典nm
的键,就像我在最后一行尝试的那样。person
在clojure中可以吗?
解决方案
我认为像函数一样使用键更惯用(person
在后台定义字典时,所有键都被定义为此“类型”/字典的对象的访问器函数):
(:name person) ;; => "Steve"
;; or:
(def nm :name)
(nm person) ;; => "Steve"
推荐阅读
- excel - 我需要一个公式来返回开头有大写字母和结尾有数字的范围内的单元格
- mysql - 从 MySQL 获取股市数据并向所有用户显示的最佳方法?
- python - /check-out 处的 TypeError 获取 dict 值,但我想要 dict 和指定值
- laravel - 在 Laravel 中发送 GSuite 电子邮件
- material-ui - Material-UI 的列表组件不起作用。检查元素时没有显示任何列表代码
- php - 如何在 laravel 中使用 get 查询生成器遍历标签
- apache-spark - 在 pyspark 数据框中添加日期
- python - 在 Heroku 中上传 CSV 和 CSV 的 Flask 应用程序中的 KeyError
- c - C - 使用定义表达式的 lseek 后读取错误
- python - 如何应用 cross_val_score 来交叉验证我们自己的模型