首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Common Lisp --有没有一个内置的函数可以通过键来过滤plist?

Common Lisp --有没有一个内置的函数可以通过键来过滤plist?
EN

Stack Overflow用户
提问于 2017-11-26 23:25:33
回答 0查看 937关注 0票数 1

我正在寻找一个内置的函数,就像下面的pfilter-by-keys

代码语言:javascript
运行
复制
(pfilter-by-keys '(:a :b) '(:c 10 :b 20 :a 4))
;; => (:B 20 :A 4)

它的代码非常简单:

代码语言:javascript
运行
复制
(defun pfilter-by-keys (keys plist)
  "List -> PList -> PList
  Returns a new plist with only the keys/values correspondent to the given
  keys."
  (loop for (k v) on plist by #'cddr
        when (member k keys :test #'equal)
          append (list k v)))

CL有没有像上面这样的内置函数?

PS.:Alexandria有一个非常接近的函数:remove-from-plist

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47497722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档