如何删除 LISP 中的嵌套括号

2024-01-03

如何在 Common LISP 中递归地删除嵌套括号,例如

  (unnest '(a b c (d e) ((f) g))) => (a b c d e f g)
  (unnest '(a b))                 => (a b)
  (unnest '(() ((((a)))) ()))     => (a)

Thanks


这就是我要做的:

(ql:quickload "alexandria")
(alexandria:flatten list)

这有效主要是因为我有快速口语 http://www.quicklisp.org/已经安装了。

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

如何删除 LISP 中的嵌套括号 的相关文章

  • Common Lisp 中的属性列表是否引用某些全局状态?

    下面的代码有z作为局部变量 但它的行为就像全局变量一样 defun foo m let z stuff nil push m getf z stuff print z foo 1 foo 2 foo 3 我希望输出是 STUFF 1 STU
  • Common Lisp 中的未绑定变量

    我是 Lisp 新手 正在阅读 ANSI Common Lisp 第 8 章中的文本生成器示例 我按照该示例并在 LET 变量 prec 的范围内定义了一个函数 see let prec defun see symb let pair as
  • 了解 LISP 中的绑定变量和自由变量

    我正在阅读SICP 又出现了绑定变量和自由变量的话题 然而 我对此感到困惑 术语 绑定变量 仅适用于形式参数变量吗 此外 文本还指出过程定义 绑定 其形式参数 这让我感到困惑 因为有些人说我们将值 绑定 到变量 显然 当我们谈论不同类型的变
  • 防止 LISP 中的终端输出

    我想运行一个函数 但不让它在终端中输出结果 例如 set A B 正常返回B在控制台中如下所示 gt gt gt set A B B gt gt gt A B 我不希望它返回任何东西 我仍然希望该函数能够完成它应该做的事情 只是默默地 gt
  • 以下函数式编程模式的正确术语是什么?

    我听说它被称为stream http mitpress mit edu sicp full text sicp book node72 html as an 无限列表 http en wikibooks org wiki Clojure P
  • 如何克服 emacs lisp 闭包缺少局部变量的问题

    我现在正在学习 Emacs Lisp参考手册 http www gnu org software emacs manual elisp html和 Common Lisp 来自LISP https rads stackoverflow co
  • C中的括号可以改变按位运算的操作数的结果类型吗?

    我通过静态分析工具输入了以下代码 u1 u1 u2 OK u1 u1 u2 u3 NOT OK u1 u1 u2 10 NOT OK u1 u1 u2 10U NOT OK u1 unsigned char u1 u2 10U OK u1
  • 如何在 Clojure 中遍历一棵树,同时收集每个节点节点的值?

    我想创建一个函数来收集二叉树中每个节点的值 在 ClojureDocs 中 我发现了几个用于遍历树 图的函数 例如 tree seq prewalk 和 postwalk https clojuredocs org clojure core
  • 宏扩展可以包含(声明...)表达式吗?

    Common Lisp Hyperspec 规定 宏形式不能扩展为声明 声明表达式必须显示为它们引用的形式的实际子表达式 我对 扩展到 的含义感到困惑 由于显而易见的原因 如下宏将不起作用 defmacro optimize fully d
  • 为什么在基于 Lisp 的语言中习惯上将许多右括号放在一行上?

    通常代码如下所示 one thing another thing arg1 f arg5 r another thing arg1 f arg5 r 为什么不喜欢这样 one thing another thing arg1 f arg5
  • 对于案例,这些表达案例的方法中哪种最好?

    这些都有效 defun testcaseexpr thecase case thecase foo format t matched foo bar format t matched bar funk format t matched fu
  • 如何获得平衡括号之间的表达式

    假设我得到以下类型的字符串 this is haha a string and it s sneaky ipsom lorem bla 我想提取最顶层括号内包含的子字符串 IE 我想获取字符串 this is haha a string a
  • 是否可以通过括号来防止死亡?

    有时 我会编写一些带有比我喜欢的更多括号的代码 if new Day new Date millisecondsPerDay 75 instanceof oldDay Bonus points if that condition made
  • windows下无法用emacs + sbcl启动slime

    我想配置我的 emacs 以使用 SLIME 和 SBCL emacs 文件如下所示 add to list load path D app slime setq inferior lisp program sbcl require sli
  • Lisp 格式和强制输出

    我不明白为什么这段代码在不同的实现中表现不同 format t asdf setq var read 在 CLISP 中 它的行为与预期一致 先打印提示 然后读取 但在 SBCL 中 它显示 then输出 我在网上查了一下 修改了一下 fo
  • 在我的 Linux 机器上安装 lisp

    我使用 Vim 作为我的编辑器 Practical common Lisp 建议安装 Lispbox 我不知道如何使用 emacs 不知道如何用那个 T T 运行 lisp 代码 之后我找到了一个名为 limp vim 的 vim lisp
  • 宏、Clojure 与 Common Lisp

    我和我的一些朋友正在开发一个新平台 我们想用 lisp 构建它 主要吸引力是宏 我们都使用 Common Lisp 但我想探索 Clojure 的选择 当我提出这一点时 其中一位说宏观体系 较弱 我想知道这是否属实 以及在哪些领域 就您可以
  • 为什么在 emacs-lisp 中的函数参数之前使用#'?

    我熟悉 Emacs Lisp 但不熟悉 Common 或任何其他 Lisp 一些 Lisp 程序员建议 例如emacs 的基本功能 https stackoverflow com questions 17076646 a basic fun
  • 从when语句内的函数返回

    我想做的就是使用 when 语句返回一个值 我想要以下功能 if x return y 我正在尝试使用 when x y 但是when语句并没有以退出函数并返回y的方式进行计算 它只是愉快地继续下一行 有没有办法做到这一点而不需要制作一个看
  • 学习 LISP 的最佳方法是什么? [关闭]

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

随机推荐

  • Chrome 中的 SVG“使用”标签已损坏

    SAP AngularJS 和 Angular Route 具有由 svg sprite 制作的基于图标的导航 所以 我有这样的内联代码 div style height 1 width 1 div
  • `uint64_t` 有什么困难? (从“float”转换组装)

    我现在的情况是需要计算类似的东西size t s size t floorf f 也就是说 参数是浮点数 但它有一个整数值 假设floorf f 足够小 可以准确表示 在优化这个的过程中 我发现了一些有趣的事情 以下是一些转换自float到
  • 如何在 Maple 中加载包?

    我想使用一个名为 ESC 椭圆面计算器的包 可以用Maple上传 创建者的指示是 使用字符编码 ISO 8859 1 ISO Latin 1 另存为文本文件 并使用 读取 命令在 Maple 中加载 我在上传到 Maple 并使用此编码保存
  • Android开发:如何以位图形式打开.dcm文件?

    我目前正在尝试制作一个 android dicom 应用程序 以下代码以 通常 图像格式从 res drawable 打开图片 但不适用于 dcm public class BitmapView extends View public Bi
  • 如何将西里尔字母音译为拉丁文本

    我有一种方法可以将任何拉丁文本 例如英语 法语 德语 波兰语 转换为其 slug 形式 e g Alpha Bravo Charlie gt alpha bravo charlie 但它不适用于西里尔文文本 例如俄语 所以我想做的是将西里尔
  • Java库为Postgres COPY编写二进制格式?

    有没有人遇到过 Java 库 或只是一些代码 来编写binaryPostgres 使用的格式复制命令 http www postgresql org docs 9 2 interactive sql copy html AEN66736 它
  • 在keras中模型预测后如何恢复原始值?

    这是一个更概念性的问题 但我必须承认我已经处理它有一段时间了 假设您想使用 keras 等来训练神经网络 NN 由于建议您在训练之前对数据进行标准化或标准化 因此 例如 通过标准化 x new x old mean standarddev
  • ISO 国家/货币数据

    All 我们的应用程序需要有关 ISO 国家和货币的数据 其中数据必须是最新的 我们确实从 ISO 本身购买了国家 货币数据 但是我们仍然需要对数据执行大量手动操作 以及编写我们自己的工具来读取数据并将其处理到我们的数据库中 我们是否会以错
  • 资产目录错误:CUICatalog:找不到名称的再现

    突然之间 虽然我没有发生明显的变化 但我现在从资产目录中的图像中收到以下错误 2013 10 30 14 44 46 629 MyApp 38590 a0b CUICatalog Can t find rendition for name
  • 句柄、指针和引用之间有什么区别

    句柄与指向对象的指针有何不同 为什么我们不能拥有对引用的引用 句柄通常是一个opaque对一个对象的引用 句柄的类型与引用的元素无关 例如 考虑由返回的文件描述符open 系统调用 类型是int但它代表打开文件表中的一个条目 表中实际存储的
  • 如何访问 webrick 提供的 .rhtml 页面的 html 请求参数?

    我正在使用 webrick 内置的 ruby 网络服务器 来提供 rhtml 文件 嵌入 ruby 代码的 html 就像 jsp 它工作正常 但我不知道如何访问参数 例如 http localhost mypage rhtml foo b
  • 在 Visual Studio 2013 中生成单元测试报告

    我在 Visual Studio 2013 的 C 项目中有一组单元测试 有没有办法从单元测试结果生成报告 我需要一份报告作为测试运行时间和结果的证据 我不是指在线 CI 服务器报告 而是指本地文件报告 VS2013有什么好的插件吗 我调查
  • 在 cygwin 上安装 Poppler

    我刚刚下载了 Poppler 0 16 5 但我对如何在 cygwin 上安装这个包一无所知 谁能告诉我安装 poppler 的正确命令是什么 实际上 Cygwin 1 7 17 1 中有一个 poppler 包 Run setup exe
  • 如何使 Pygame 零窗口全屏?

    我正在使用易于使用的 Python 库 pgzero 它使用pygame内部 用于游戏编程 如何让游戏窗口全屏显示 import pgzrun TITLE Hello World WIDTH 800 HEIGHT 600 pgzrun go
  • MassTransit 与非 .NET 服务的互操作性

    我一直在使用 MassTransit 并且非常喜欢它 但是 默认情况下 它使用 MassTransit 特有的一些 JSON 包装所有 RabbitMQ 有效负载 消息 这使得与非 NET 服务交换消息变得困难 我知道 JSON 可以用任何
  • 启用远程 JMX 后,Cassandra“nodetool status”失败并显示“Credentials required”

    我按照 启用 JMX 身份验证 的说明进行操作 http docs datastax com en cassandra 2 2 cassandra configuration secureJmxAuthentication html htt
  • java中如何停止、暂停、取消线程

    我正在用java开发一个应用程序 它启动一些线程来执行一些工作并更新JTable with a JProgressBar 我开发了一个JPopupMenu on the JTable有一些JMenuItem Pause Stop Cance
  • 将 AndroidAnnotations 与 Scala 和 Gradle 结合使用

    是否可以将 AndroidAnnotations 与 Scala 编程语言和 Gradle 构建系统一起使用 当我尝试将 AndroidAnnotations 集成到现有的 Android Scala Gradle 项目中时 编译失败 因为
  • 通过提交消息搜索 Gerrit

    我们的团队使用的标准是在所有提交消息前加上 bz12345 前缀 其中 12345 被您正在处理的错误替换 我希望能够搜索具有该错误编号的所有提交 我读了http gerrit googlecode com svn documentatio
  • 如何删除 LISP 中的嵌套括号

    如何在 Common LISP 中递归地删除嵌套括号 例如 unnest a b c d e f g gt a b c d e f g unnest a b gt a b unnest a gt a Thanks 这就是我要做的 ql qu