Lisp:循环收集多个列表

2024-01-07

我希望能够在循环内收集多个列表。

我知道这可以在没有循环的情况下完成,但是我想知道这是否也可以用循环来完成。我想要这样的东西:

  (loop for var in list
        (if (cond1 var)
            (if (cond2 var)
                collect into list1
                collect into list2))
        finally (list list1 list2))

我收到的错误是LOOP keyword is expected,我想收集应该在when or a loop。有什么办法可以解决吗?


不管你信不信你都有括号太多. loop有自己的小子语言,与 Common Lisp s 表达式有很大不同。

(loop :for var :in list
      :when (cond1 var)
        :if (cond2 var)
           :collect var :into list1
        :else
           :collect var :into list2
        :end
      :end
      :finally (return (list list1 list2)))

另外我指定要做什么:collect and :finally只是评估所以你需要使用(return ...)否则你可以期待nil.

我使用关键字loop关键字以将它们与其他符号区分开来。这只是风格。缩进当然会被忽略,只是为了可读性,但是:end不是。然而在这种情况下,两者:end关键字是多余的,因为loop没有它们就可以正确解析。

我绝不是一个loopwiz ..每次我得到一些稍微复杂的东西时我都会使用口齿不清之地 http://www.landoflisp.com/的元素周期表或黑带环 http://www.gigamonkeys.com/book/loop-for-black-belts.html,一章来自实用 Common Lisp http://www.gigamonkeys.com/book/.

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

Lisp:循环收集多个列表 的相关文章

  • R: eval(parse()) 错误消息:即使在解析中指定了“text=”也无法打开文件

    我多次对国家 地区列表进行分析 在每次迭代期间 结果应添加到向量中 下面我展示了一个简化的示例 仅针对一个国家 地区 没有循环 尽管我彻底寻找解决方案 但我找不到答案 this is my simplified country vector
  • C++中while(x--)是什么意思

    我刚刚开始竞争性编程 并一直使用如下循环来定义大多数练习问题中的测试用例数量 for int i 1 i lt t i 然而 我见过人们使用 while 循环 它只有条件 t 运行起来也完全没问题 有人可以向我解释这种情况实际上是如何运作的
  • windows下无法用emacs + sbcl启动slime

    我想配置我的 emacs 以使用 SLIME 和 SBCL emacs 文件如下所示 add to list load path D app slime setq inferior lisp program sbcl require sli
  • 宏、Clojure 与 Common Lisp

    我和我的一些朋友正在开发一个新平台 我们想用 lisp 构建它 主要吸引力是宏 我们都使用 Common Lisp 但我想探索 Clojure 的选择 当我提出这一点时 其中一位说宏观体系 较弱 我想知道这是否属实 以及在哪些领域 就您可以
  • 在 Postgres 9.0+ 中使用 PL/pgSQL 循环表

    我想循环遍历所有表以计算每个表中的行数 以下查询给我一个错误 DO DECLARE tables CURSOR FOR SELECT tablename FROM pg tables WHERE tablename NOT LIKE pg
  • xsl:for-each 循环内的计数器

    如何在 xsl for each 循环内获取一个计数器 该计数器将反映当前处理的元素的数量 例如我的源 XML 是
  • 表、TR各2个循环、PHP、HTML

    我有一个 html 表 我使用一些循环来获取一些数据 该数据以这种方式显示 tr td Data td tr next loop 但我不希望它每 2 个甚至 3 个循环关闭表行 tr 所以数据可能如下所示 tr td Data td td
  • Lisp 中的 (定义 (平均 ....))

    我只是在玩scheme lisp 并正在考虑如何纠正我自己的定义average 我不确定如何做一些我认为需要的事情 定义一个接受任意数量参数的过程 计算这些参数 将参数列表传递给 以将它们加在一起 有人有定义的例子吗average 我似乎对
  • 在 R 中替换数据帧中最低列表值的最有效方法

    我有一个数据框 df 其中包含为每个受试者记录的数字列表 向量 用于测试项目的两次重复 subj item rep vec s1 1 1 2 1 4 5 8 4 7 s1 1 2 1 1 3 4 7 5 3 s1 2 1 6 5 4 1 2
  • Foreach 更改未保留在 Linq 项目集合上

    在以下示例中 当我返回集合时 不会保留在 foreach 中应用的更改 var people SomeLinqToSqlSource foreach var person in people person Name Jimmy return
  • 如何匹配元音?

    我在处理我正在开发的一个更大程序的一个小组件时遇到了麻烦 基本上我需要让用户输入一个单词 并且需要打印第一个元音的索引 word raw input Enter word vowel aeiouAEIOU for index in word
  • for 循环中列表项未更改

    当以下代码没有达到我预期的效果时 我感到震惊 lines list this is line 1 n this is line 2 n this is line 3 n for line in lines list line line st
  • 使用 System.currentTimeMillis() 每秒运行一次代码

    我试图使用 System currentTimeMillis 每秒运行一行代码 代码 while true long var System currentTimeMillis 1000 double var2 var 2 if var2 1
  • 过早退出 Qualtrics 中的循环和合并块

    我目前正在进行一项 Qualtrics 调查 受访者必须解决一长串字谜问题 然后回答一些人口统计问题 为了使变位词部分更容易 我使用了循环和合并块 第一个字段是要解决的变位词 第二个字段是变位词的解决方案 因此调查可以根据受访者的答案来检查
  • VBA:删除数组项后减少循环迭代?

    在 Excel 的 VBA 中 For i 0 To UBound artMaster For j i To UBound artMaster If i lt gt j And artMaster i VDN artMaster j VDN
  • gensym 在 Lisp 中做什么?

    我听到一些同学谈论他们如何使用该功能gensym为此 我问他们它做了什么 甚至在网上查了一下 但我真的无法理解这个函数的作用是什么两者都不为什么或何时最好使用它 特别是 我对它在 Lisp 中的作用更感兴趣 谢谢你们 独特且未被拘禁的符号
  • 为什么 .each 在我的 Rails 视图中完成后会重复数组? [复制]

    这个问题在这里已经有答案了 在我的 Rails 视图页面中 我有以下循环 它应该循环遍历我的 tag list 数组并打印每个标签 由于某种原因 它在打印每个单独的标签后会重复该数组 例如 这个数组有两个元素 ruby python 每个方
  • 如何在 R 中创建循环来生成随机样本列表?

    我正在尝试创建一个循环来创建一系列包含随机样本的对象 如下所示 sample lt ceiling runif 9 min 0 max 20 这是圆形制服的示例 但它可以替换为普通 泊松或任何您想要的 因此 我构建了一个循环来自动生成各种生
  • 学习 LISP 的最佳方法是什么? [关闭]

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

    我有以下 for 循环 当我使用splice 要删除一个项目 我发现 秒 未定义 我可以检查它是否未定义 但我觉得可能有一种更优雅的方法来做到这一点 我们的愿望是简单地删除一个项目并继续 for i 0 len Auction auctio

随机推荐

  • 如何根据分页查找id

    我正在使用jQuery 数据表插件 http www datatables net 在 JSF 上
  • Chrome 扩展“Script-src”错误(自学)[重复]

    这个问题在这里已经有答案了 我在学校学习 C 后正在自学 JavaScript 我认为尝试构建 Chrome 扩展将是一个很好的实践 我正在尝试访问 OpenWeatherMap 的 API 来获取城市 ID 来进行天气搜索 这是导致问题的
  • 方法重载和原始类型如何工作?

    我正在做 Java 课练习 我有这段代码 其中包含一个重载方法 class A Overloaded method public void f int n float x System out println f int n float x
  • 防止 ajax 调用缓存的正确方法是什么?

    我有一个 AJAX 调用 它根据简单的标准参数 例如一年中的月份 从不断变化的数据库返回值 在 IE 中 此函数返回缓存的数据 但它不应该返回 我已经监控了服务器端 并且客户端没有联系它 现在 我的标题问题已经以不同的方式被问过 已经在这里
  • 自动增加内部版本号

    我有两个项目正在解决 一个是版本 3 0 0 另一个是 2 0 0 我使用 MSBuild 脚本在 Team City 上构建我的解决方案 如何将版本字符串的内部版本号部分注入到 AssemblyVersion 属性中 同时保留开发时定义的
  • 如何分发调用Python的C++应用程序?

    我知道有一些方法可以从 C 调用 Python 例如 Python C API 或 Boost Python 我的问题是 如何分发该应用程序 例如 用户是否仍然需要在其计算机上安装 Python 和 Python 包 我的用户案例是 我想使
  • Azure函数应用部署和发布管道错误

    我使用 Visual Studio 推送了我的 net core 功能应用程序 现在正在设置发布管道 我可以很好地发布和执行该应用程序 并且它在 Azure 门户上运行得很好 但是 当我在 azure devOps 中看到版本的构建时 该插
  • 无状态 RESTful API 和第三方身份验证

    我想使用第 3 方身份验证 OpenID 也许是 OAuth 但我猜 OAuth 的用途是授权 以便用户可以轻松登录 但是 对每个请求进行身份验证是否意味着即使我不需要第三方 例如 Google 的任何东西 我也会多次调用它 例如 我使用
  • jquery如何调用外部url?

    我正在尝试使用 jquery 在 Facebook 墙上发表评论 但我的 ajax 调用不允许外部 url 谁能解释一下我们如何在 jquery 中使用外部 url 下面是我的代码 var fbUrl https graph faceboo
  • JavaScript 中双引号和单引号可以互换吗?

    考虑以下两种选择 console log double console log single 前者在字符串周围使用双引号 而后者在字符串周围使用单引号 我看到越来越多的 JavaScript 库在处理字符串时使用单引号 这两种用法可以互换吗
  • 如果行中的任何列满足条件而不是 mutate() 列

    使用 dplyr 我尝试使用 ifelse 和 mutate 有条件地更新列中的值 我想说的是 在一个数据框中 如果一行中的任何变量 列 等于7 那么变量c应该变成100 否则c保持不变 df lt data frame a c 1 2 3
  • Hayoo/Hoogle 不将单态/较少多态签名与多态签名匹配

    例如 我试图了解谷歌和雅虎不匹配是否有根本原因 b gt c gt b gt c gt b b gt c c to a b c gt a b c gt a b b c c 这恰好是类型Control Arrow http hackage h
  • 如何接受逗号分隔列表来为模型构建标签?

    由于我当前应用程序的灵活性有限 我正在关闭 acts as taggable on 相反 我从头开始构建我的标签作为他们自己的模型 但是 我已经错过了表单的 model tag list 方法 该方法会分割以逗号分隔的用户输入并创建单独的标
  • PHP DOMDocument:如何删除 div?

    这是我的代码 doc new DOMDocument doc gt loadHTML stripslashes sContent si le meta existe alors il y a un sondage if doc gt get
  • 在四开书名中使用参数

    我正在尝试创建一本参数化的四开本书籍 其中在 quarto yml 中设置的书名根据参数 名称 而变化 但我无法使其工作 我用r params name在标题中 但它总是将行内代码打印到标题中而不是输出中 下面是我的 quarto yml
  • 如何使用 SSRS 2005 将 INT 转换为 HH:mm:ss

    好的 我需要显示从 SQL 2005 作为 INT 进入 SRSS 2005 的代理的总通话时间 对于我的一生 我无法弄清楚我需要使用什么表达式编辑或格式编辑组合 对于详细部分 我可以使用 DATEADD s SUM Fields Talk
  • 如何在我的网站上打开 wss: 或 ws: 端口?

    我在用Ratchet lib socketo me作为我的聊天应用程序的网络套接字 当我输入 localhost 8080 时 它工作得很好 当我在线发布应用程序时 如何将我的网站设置为 wss 怎么打开端口什么的 这是连接代码 docum
  • 使用 GlassFish 4 的 JNDI 独立应用程序的 EJB 3.1 问题

    我在独立测试应用程序的 JNDI 部分遇到问题 我有gf client jar和jndi properties jar类路径上的文件 在运行客户端之前 我确保在 glassfish 服务器上部署了最新版本 独立应用程序 public cla
  • NullInjectorError:没有 NgZone 的提供者! (Angular 6 库)

    Summary 我创建了一个 Angular 6 库 但当我尝试在创建它的项目之外使用它时 出现错误 这看起来有很多代码 但它主要是由 CLI 生成的样板文件 最小工作测试用例 我使用 Angular 6 CLI 创建了一个非常基本的库 n
  • Lisp:循环收集多个列表

    我希望能够在循环内收集多个列表 我知道这可以在没有循环的情况下完成 但是我想知道这是否也可以用循环来完成 我想要这样的东西 loop for var in list if cond1 var if cond2 var collect int