clojure - 使用 Spectre 从动态索引中选择向量元素
问题描述
我有一个向量[:a :b :c :d :e]
和一些索引[1 2 4]
。
使用 Spectre,如何从索引中选择我的向量的元素,使其返回[:b :c :e]
?
解决方案
无需使用 Spectre:
(let [a [:a :b :c :d :e]
B [1 2 4]]
(mapv (partial nth a) B))
或者更简单:
(let [a [:a :b :c :d :e]
B [1 2 4]]
(mapv a B))
但是如果你坚持使用 Spectre,那么这里是:
(let [a [:a :b :c :d :e]
B [1 2 4]]
(select (apply multi-path B) a))
推荐阅读
- python - 为什么当我省略“from tkinter import *”时会出现错误?
- wordpress - htaccess 重定向 301 有效,但 RewriteRule 无效
- javascript - redux-thunk axios async 中必须如何操作?
- python - 如何在加入时拆分 sqlalchemy 中的文本列以供使用?
- angular - Angular 11 在安装节点模块时无法解析依赖树
- github-actions - GitHub 操作中奇怪的布尔求值
- autodesk-forge - 无法在 MarkupsCore 扩展中为“EVENT_EDITMODE_CREATION_END”添加事件侦听器
- r - 从R中的矩阵创建公式
- node.js - 身份验证中的护照奇怪行为
- node.js - 在 ADP API 中获取 accessToken