如果我已经定义了一系列记录(defrecord Person [name age])并且我想获得具有最大年龄的人的记录,那么有更简单的方法吗?
(reduce #(if (> (:age %1) (:age %2)) %1 %2) people)
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止已经想到的唯一方法,但似乎这必须是一个常见的场景,必须有一些内置的库函数,使这更容易和/或更通用.
vem*_*emv 16
clojure.core/max-key 是一个适合这项工作的工具.
(apply max-key :age [{:age 12} {:age 20} {:age 30}]) ;; -> {:age 30}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2582 次 |
| 最近记录: |