lisp - 如何在特殊元素前面获取列表的一部分?
问题描述
使用 MEMBER,我得到了搜索到的元素和 LIST 的其余部分。但是,在搜索到的元素到来之前,我是如何获取这些元素的呢?
(CDR (MEMBER 'DURCH '(ZEIT MAL LAENGE DURCH MASSE MAL ZEIT))); with this I get (MASSE MAL ZEIT)
;But how did I get (ZEIT MAL LAENGE)
解决方案
有时这些函数很容易编写,解决方案也很容易阅读,以至于没有必要确定哪种标准函数组合可以满足您的需求:
(defun elts-before (l elt &key (test #'eql))
(loop for e in l
until (funcall test e elt)
collect e))
推荐阅读
- python - 使用 Python 将 .doc 或 .docx 文档转换为 .odt 的最佳方法是什么?
- php - 如何在乘法表php中使用for循环将5种文本颜色放在5行中?
- azure-ad-b2c - 在 Blazor 服务器端应用程序中注销后如何重定向到主页
- monitoring - SignalFX API 汇总指标
- javascript - 类型“IntersectionObserver”不可分配给类型“null”。TS2322 [反应,交叉点观察者]
- arrays - 为什么第三个元素初始化为垃圾值?
- linux - 在 ESXI 上通过 GPU 到 Linux 虚拟机时无法输出图形进行监控
- flutter - 了解生成器函数的用途
- video - 如何使用 FFmpex 获得视频的原生帧速率?
- airflow - Apache Airflow 是否有规则编辑器