解析 Common Lisp 列表中的符号

2023-11-29

假设我有一个函数

CL-USER> (defun trimmer (seq) "This trims seq and returns a list"
      (cdr 
         (butlast seq)))
TRIMMER
CL-USER> (trimmer '(1 2 3 VAR1 VAR2))
(2 3 VAR1)
CL-USER> 

请注意,由于 QUOTE,VAR1 和 VAR2 未解析。假设我想将符号 VAR1 和 VAR2 解析为其值 - 是否有标准函数可以执行此操作?


不使用quote创建一个包含变量的列表;使用list反而:

CL-USER> (trimmer (list 1 2 3 var1 var2))
(2 3 value-of-var1)

(where value-of-var1的值是var1).

Quote只会阻止对其参数进行评估。如果它的参数恰好是列表文字,则返回它。但是,要创建不仅仅是文字的列表,请使用list. You can使用反引号语法,但在这种情况下这相当混乱。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解析 Common Lisp 列表中的符号 的相关文章

  • 如何在 Clojure 中遍历一棵树,同时收集每个节点节点的值?

    我想创建一个函数来收集二叉树中每个节点的值 在 ClojureDocs 中 我发现了几个用于遍历树 图的函数 例如 tree seq prewalk 和 postwalk https clojuredocs org clojure core
  • 使用 CUDA __device__ 函数时出现链接器错误 2005 和 1169(多重定义的符号)(默认情况下应内联)

    这个问题与以下问题有很大关系 A 如何将CUDA代码分成多个文件 https stackoverflow com questions 2090974 how to separate cuda code into multiple files
  • 为什么在基于 Lisp 的语言中习惯上将许多右括号放在一行上?

    通常代码如下所示 one thing another thing arg1 f arg5 r another thing arg1 f arg5 r 为什么不喜欢这样 one thing another thing arg1 f arg5
  • 人们可以放心地忽略宏和内置宏之间的区别吗?

    我从 Clojure 开始 这也是我的第一个 lisp 显然有很多东西需要吸收 为了减轻认知负担 我尝试找到我可以安全地忽略的部分 目前 人们能否安全地以相同的方式处理带有宏的表单和带有内置函数的表单 或者是否会出现以后出现的陷阱 换句话说
  • 对于案例,这些表达案例的方法中哪种最好?

    这些都有效 defun testcaseexpr thecase case thecase foo format t matched foo bar format t matched bar funk format t matched fu
  • 在 Java Runtime.getRuntime().exec(...) 中使用引号和双引号

    我正在尝试在 Mac OSX 中从 Java 启动 Lisp 映像 使用控制台中的图像 我输入以下内容 lisp image eval package method some argument 一切都运行良好 在Java中 我在使用传递引号
  • 未定义的 C/C++ 符号作为运算符

    我注意到字符 符号 和 在 C C 中不用作运算符 有谁知道原因或历史原因吗 如果确实没有使用它 使用 define 将这些符号定义为另一个运算符 语句是否安全 通常情况下 define只接受宏名称中的有效标识符 所以你不能这样做 defi
  • 在我的 Linux 机器上安装 lisp

    我使用 Vim 作为我的编辑器 Practical common Lisp 建议安装 Lispbox 我不知道如何使用 emacs 不知道如何用那个 T T 运行 lisp 代码 之后我找到了一个名为 limp vim 的 vim lisp
  • 在 Common Lisp 中编写 Lambda 表达式

    我目前正在阅读 Paul Graham 的 ANSI Common Lisp 并且有一个关于编写 lambda 表达式的问题 我们是否需要在 lambda 表达式前面加上前缀 如果我在 REPL 中写这样的东西 它会工作得很好 gt lam
  • 宏、Clojure 与 Common Lisp

    我和我的一些朋友正在开发一个新平台 我们想用 lisp 构建它 主要吸引力是宏 我们都使用 Common Lisp 但我想探索 Clojure 的选择 当我提出这一点时 其中一位说宏观体系 较弱 我想知道这是否属实 以及在哪些领域 就您可以
  • 如何使用 VBA 将符号/图标格式化为单元格而不使用条件格式

    我使用 VBA 代码放置条件格式以覆盖大型表格中的值 每个单元格使用 2 个公式来确定使用 3 个符号中的哪一个 我需要根据列使用不同的单元格检查每个单元格的值 因此据我了解 我必须将条件格式规则单独放置在每个单元格上 以确保每个单元格中的
  • 内联 svg 不显示在 xhtml 中

    我创建了一个带有内联 SVG 的 XHTML 文件 当测试为 XHTML 时 它不会显示 但当测试为 HTML 时 它会显示 我已经搜索过互联网并相信我已经指定了正确的名称空间等 但是 我很困惑为什么它没有显示 请帮助我理解我做错了什么 注
  • 评估 Common Lisp 宏的参数

    我想制作一个宏 其行为取决于它的参数之一 例如 defclass myvar l initarg l reader l defparameter mv1 make instance myvar l 10 defmacro mac1 v pr
  • 学习 LISP 的最佳方法是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何获取符号名称(文字)?

    以下情况 var myVehicle brand Tesla var isMoving Symbol var currentStatus Symbol myVehicle isMoving true myVehicle currentSta
  • 为什么隐式符号到字符串转换会导致 JavaScript 中出现类型错误?

    有一个 toString on Symbol在 ES6 中 它返回字符串表示形式Symbol 但想知道为什么 Symbol 不起作用 运行这个表达式会抛出TypeError我没想到 后者只是打电话吗 toString 在一个新的Symbol
  • 试图理解 setf + aref “魔法”

    我现在已经了解了数组和aref在 Lisp 中 到目前为止 它很容易掌握 而且它的作用就像一个魅力 defparameter foo make array 5 aref foo 0 gt nil setf aref foo 0 23 are
  • 递归分割列表函数 LISP

    split list 函数接受一个列表并返回一个由两个列表组成的列表 其中两个列表由输入的交替元素组成 我写了以下内容 defun split list L cond endp L list NIL NIL t let X split li
  • Scheme (Lisp) 中树的深度反转

    我对Scheme中的基本树数据结构进行了深度逆向 define deep reverse t cond null t not pair t t else cons deep reverse cdr t deep reverse car t
  • 原生C有通用符号吗?

    在GCC10中 gcc默认为fno common 这意味着 所有暂定定义的符号都不通用 我认为gcc符合C规范 但本地C程序中似乎没有通用符号 通用符号仅适用于扩展语法吗 原生C有通用符号吗 阅读C11标准n1570 https web c

随机推荐

  • 使用 C# 为通过 Gmail 发送的邮件设置不同的“发件人”地址

    我正在使用一个简单的邮件发送器类 该类使用System Net Mail 我需要更新我的应用程序 以便各个用户可以通过它发送电子邮件 使用相同的 smtp 帐户 但 发件人 地址应该是导致发送电子邮件的用户的地址 我尝试设置From的财产M
  • Hashmap、Treemap 和 LinkedHashmap 在 Java 中如何工作?

    我对地图有各种疑问 迭代 Hashmap 时 无法保证迭代顺序 这是为什么呢 为什么 Hashmap 比 Treemap 更快 LinkedHashMap 是如何工作的 它们如何维护顺序 是因为它们有一个双向链表 其中包含有关哪个条目存储在
  • 为什么Java不初始化数组对象?

    如果在java中运行以下代码 public class Testing public static void main String args TestObject array new TestObject 4 array 0 new Te
  • 绑定到 Window.Resources 中 DataTemplate 中拥有窗口视图模型中的属性

    我的窗口资源部分中有一个 DataTemplate 它创建一个带有 ContextMenu 的 TextBlock 我希望能够设置 ContextMenu 中的 MenuItem 在我的窗口视图模型中是否可见 我尝试通过设置访问窗口的 Da
  • 有没有办法在本地更新 maven 的 default-bindings.xml

    这听起来可能很愚蠢 但是有没有办法编辑或更新maven的默认绑定文件呢 META INF plexus default bindings xml 我为什么要这么做 背景 我正在使用最新的maven version 3 3 9在我的机器上作为
  • 如何在pygame中的精灵上放置健康栏

    根据标题 我希望我的玩家头上有一个生命条 如果他们移动 生命条也会移动 说精灵是我的玩家 嘿精灵 他的头顶上有一个健康栏 是的 就是这样 老实说 我真的不知道从哪里开始 所以我们将不胜感激 谢谢 附 非常感谢Rabbid76的帮助 还有安禅
  • 是否可以并行读取网络摄像头帧?

    我有一个简单的Python使用捕获网络摄像头的脚本OpenCV 我的网络摄像头有潜力传输 30 FPS 但自从我树莓派不够强大 我只能读取 20 FPS 运行脚本时 我的 CPU 的一个核心最大使用到 100 但其余核心未受影响 因此我尝试
  • 只显示文章内容

    如何只显示一篇文章中的内容 我使用 Joomla 2 5 和 Ajax 来调用一篇文章 但是当我在 div 标签 我再次渲染页眉 页脚和所有页面 但我只想要内容 如何配置页面或文章以仅显示内容 如果您只想获取组件 可以附加tmpl comp
  • 在 postgresql 中存储 24:00:00 以上时间的最佳方法?

    我将 GTFS 源存储到 SQL 数据库中 并且某些时间预计存储在 24 00 00 时间上限之上 例如 某些列车在上午 12 30 运行 但列出了前几天的服务 并且该运行时间在 GTFS 规范中存储为 24 30 解决这个问题的最佳方法是
  • 哈希图空间和性能问题

    我必须在 HashMultiMap 中存储超过 1 亿个键值 键可以有多个值 谁能帮助我哪一个存储和搜索速度更快 1 伯克利数据库 2 东京内阁 3 H2 4 EhCache 5 或其他 另一点 那些性能与内存中的哈希图大致相同吗 一点点指
  • 如何将动态html转换为pdf?

    我想将动态 html 转换为 pdf 以下代码显示静态 html 到 pdf 的转换 Document document new Document step 2 PdfWriter writer PdfWriter getInstance
  • super() 在 Sublime Text 中抛出错误,适用于 PyCharm/Terminal

    我生成了以下代码作为作业的一部分 class Question Base class for all questions question count 0 def init self desc self desc desc Question
  • SqlDateTime.MinValue != DateTime.MinValue,为什么?

    我想知道 为什么 SqlDateTime MinValue 与 DateTime MinValue 不一样 我认为 SQL 和 NET 之间的区别Date数据类型源自 SQL Server 的事实datetime数据类型 最小值和最大值以及
  • 开启个人热点?

    有没有办法可以使用 Objective C 打开个人热点 我需要连接到打印机 并且不希望用户转到设置然后将其打开 而是想在代码中打开它 打印 然后将其关闭 抱歉 在已发布的 API 中无法执行此操作 您可能需要在以下地址提交增强请求 htt
  • 什么会导致我的源文件变灰,文件图标上有删除线?

    我正在尝试使用 Eclipse Mars 为 STM32F4 Discovery 板构建应用程序 我特别想使用 SPI 库 我已在主程序中包含相应的头文件 但收到错误消息 指出我尝试使用的函数未定义 稍微戳了一下 我意识到该项目的大部分源文
  • 有没有办法预先泄漏和取消泄漏值?

    我目前正在研究用数组做更多的事情 但我认为如果我们被允许以某种方式转变为一个 这些操作的性能可能会更好Leaked
  • erf(x) 和 math.h

    根据这个网站误差函数 erf x 来自 math h 但实际查看 math h 时 它不存在 并且 gcc 无法编译以下测试程序 而 g 可以 include
  • 切换到 18.x 后,Lambda 函数无法加载 AWS sdk

    我将 Lambda 函数从 node12 x 升级到了 node18 x 该代码在 12 x 上运行得很好 切换到 18 x 后 我无法再包含 AWS sdk 我曾经通过简单地输入以下内容来包含它 var AWS require aws s
  • 在 DialogFragment 中使用适配器时软键盘不显示

    我有一个自定义的 DialogFragment 其中有一个 ArrayAdapter 其中有一些 editText 当显示对话框时 即使我按下编辑文本 软键盘也不会出现 编辑文本确实获得焦点 但键盘永远不会出现 如果我不使用适配器而只使用带
  • 解析 Common Lisp 列表中的符号

    假设我有一个函数 CL USER gt defun trimmer seq This trims seq and returns a list cdr butlast seq TRIMMER CL USER gt trimmer 1 2 3