打印数组 LISP 的内容

2023-12-21

为什么这段代码不打印出数组的内容 -




(defun loopfn (state)
       (loop for x from 0 to 2 do
        (loop for y from 0 to 2 do
             (aref state x y))))

  

这里我传递了一个 3x3 矩阵,它是这样构建的 -



`(setq i (make-array '(3,3) :initial-contents '((0 1 3) (4 2 5) (7 8 6))))`
  

我正在打电话 - (loopfn i)

编辑 - - - - @格雷格 感谢您指出了这一点... 我有以下问题.. 为什么这会打印输出...

(defun loopfn ()
   (loop for x from 0 to 3 do
    (if (eq x 2)(return (list x)))))

这会打印一个 nil...

(defun loopfn ()
   (loop for x from 0 to 2 do
    (loop for y from 0 to 2 do
         (if (eq x 2)(return (list x y))))))

我正在打电话

(loopfn)

您的代码不会打印任何内容。这也是你想要的——通常是这样。

但您希望函数返回一些有用的东西。

因此,您需要了解打印和让 REPL 打印返回值之间的区别。

CL-USER > 3
3

上面返回 3。Read-Eval-Print-Loop 打印返回值。

CL-USER > (print 3)

3 
3

上面打印了一个newline然后两倍3。为什么? 第一个是副作用PRINT调用它打印换行符,然后打印它的参数。 第二个是 REPL 打印返回值。

另请注意EQ不适用于数字比较。使用EQL反而。 看:http://www.lispworks.com/documentation/lw50/CLHS/Body/f_eql.htm http://www.lispworks.com/documentation/lw50/CLHS/Body/f_eql.htm

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

打印数组 LISP 的内容 的相关文章

  • Oracle存储过程使用数组作为表插入的参数

    我一直在寻找一个明显的例子 但没有运气 抱歉 如果已经回答了 我正在尝试做一些非常简单的事情 一个存储过程 它将获取输入并将它们插入到表中 我希望它获取多行数组并一次全部插入 我认为这很简单 但我还没有找到一个可以展示我的例子 在很多例子中
  • C# LINQ 方法确定数组是否是另一个数组的子集(包括重复项)?

    考虑两个数组 int a1 new int 1 1 1 2 3 4 5 6 7 8 9 10 10 int a2 new int 1 3 4 7 5 10 1 我希望能够确定 a2 是否是 a1 的子集 考虑重复项目的数量 换句话说 如果a
  • 获取嵌套数组 JS 中对象的所有父对象

    我在使用 vuejs 的项目上遇到问题 我有一个像这样的嵌套对象数组 Data data id 1 parent id null title First folder children id 3 parent id 1 title Firs
  • 匹配数组中的对象并合并

    UPDATE 我有一个名为的对象数组cars包含 li 标签 其中包含有关汽车的属性数据 例如价格 汽车类型等 我的目标是 如果这些汽车符合某些标准 则将它们合并到一个列表中 要求 快速性能 保持相同的汽车数组结构 Main Goal Ma
  • 查找所有数组的长度多维数组,Java

    我想使用多维数组来存储数据网格 但是 我还没有找到一种简单的方法来查找长度2nd数组的一部分 例如 boolean array new boolean 3 5 System out println array length 只会输出3 是否
  • 如果多个键是相同的 JS,则对对象中的值求和

    例如我有 5 个对象 row aa col 1 value 1 row bb col 2 value 1 row bb col 3 value 1 row aa col 1 value 1 row aa col 2 value 1 我想对值
  • Firestore 更新后仅获取文档一次

    我有一个 tableView 它从 Firestore 集合中获取所有文档 并且我只想在用户刷新 tableView 后将最后一个文档添加到 Firestore 时获取一次 然后我想删除侦听器 以便当用户刷新 tableView 时仅获取文
  • 调整巨大数组的大小

    我正在我的应用程序中处理巨大的数组 需要调整它们的大小 假设您有一个 2Gb 的阵列 并且想要将其大小调整为 3Gb 有没有办法在暂时不需要 5Gb 的情况下调整它的大小 例如 给定一个 1Gb 堆 使用 Xmx1G flag public
  • 关于 ArrayList[] x 的 Java 问题

    我一直对 ArrayList 数组有这个问题 也许你能帮忙 declare in class private ArrayList
  • 如何计算伽罗瓦域上的numpy数组?

    我想在伽罗华域 GF4 上使用 numpy 数组 所以 我将 GF4 类设置为数组元素 它适用于数组 整数计算 但不适用于数组 数组计算 import numpy class GF4 object class for galois fiel
  • 从 C 数组中删除大量元素的最快方法

    我有包含数千个甚至更多元素的动态数组 为了不消耗大量内存 我可以从中删除不需要的元素 即元素已被使用 不再需要它们 所以从一开始我可以通过估计每次删除元素后所需的最大大小来分配较小的内存大小 我用这个方法但是需要很长很长的时间才能完成 有时
  • 如何获得n个具有不同元素数量的数组的所有可能组合?

    我有一些在编程时未知的数组数量 也许是 3 或 4 或 7 每个数组都有一些元素 即 a 1 2 3 4 b 6 7 5 2 1 c 22 4 6 8 4 8 5 4 d e f g 我想通过从每个数组中采样一个数字来获得所有可能的组合 例
  • 总和不小于 key 的数组的最小子集

    给定一个数组 假设为非负整数 我们需要找到最小长度子集 使得元素之和不小于 K K 是作为输入提供的另一个整数 是否有可能找到时间复杂度为 O n n 的大 oh 的解决方案 我目前的想法是这样的 我们可以在 O n log n 中对数组进
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • 关于执行令的问题

    我正在尝试学习 Common Lisp 并在 repl 中尝试某些东西时发现了一些意想不到的东西 对我来说 基于大多数编程语言的执行顺序 以及我一直从 lisp 听到的出色的一流函数支持 我认为以下应该可行 if t format t te
  • Javascript 在数组索引上传播以将新项目“推送”到嵌套数组

    考虑以下数据 let data foo true bar 1 2 3 foo true bar 8 9 我试图push嵌套的东西bar索引上的数组1使用扩展语法 https developer mozilla org en US docs
  • Lisp 函数如何记住这段代码中的状态?

    我从网站上看到一段代码http www ccs neu edu home shivers newstyle html http www ccs neu edu home shivers newstyle html gt defun elem
  • 如何使用 CNContacts 快速获取手机号码?

    我有一些代码可以检索用户联系人中的所有电话号码 但只想过滤掉手机号码 目前 我只是通过将第一个数字为 或第二个数字为 7 的数字添加到数组中来实现此目的 如下所示 func findContacts gt CNContact let key
  • “映射”是否一定会产生额外的嵌套级别?

    是否使用嵌套map自动创建另一层嵌套 这是我使用的一个基本示例 One level map lambda x1 Hi 1 Two levels map lambda x1 map lambda x2 Hi 1 1 Three levels
  • 如何从 appsettings.json 文件中的对象数组读取值

    我的 appsettings json 文件 StudentBirthdays Anne 01 11 2000 Peter 29 07 2001 Jane 15 10 2001 John Not Mentioned 我有一个单独的配置类 p

随机推荐

  • 布局 xml 中的 Magento 条件块

    如果 isset get param x that x phtml else y phtml 这是不可能的还是在布局 xml 文件写入条件下 我看到在动作控制器中解决了这个问题 但我覆盖了其他模块中的操作 而且我认为 xml 更好 实际上
  • Swift - UITableView 设置分隔符样式

    如何在 Swift 中设置 UITableView 的分隔符样式 我想去掉分隔符 以便表格视图中的单元格之间没有灰线 任何建议将不胜感激 以下是我已经尝试过的 我在objective C中找到了这个方法 self tableView set
  • NetBeans 可以自动构建 Java 自由格式 (Ant) 项目吗?

    每次保存后 我需要在项目浏览器中右键单击该项目 然后单击build 有没有办法将 NetBeans 配置为在保存文件时自动构建项目 请参阅保存时编译常见问题解答 http wiki netbeans org FaqCompileOnSave
  • Azure AD 应用程序通过 Powershell 添加密钥

    我正在尝试使用 PowerShell 在我的 Azure AD 应用程序中添加密钥 不幸的是 我首先尝试使用 Azure CLI 但经过一些研究和一些 stackoverflow 答案后 我发现这是无法完成的 我正在尝试通过 Powersh
  • java.util.Date 克隆或复制以不公开内部引用

    最佳实践是不要公开对象 实体 的内部引用 所以如果一个对象有一个类型的字段java util Date例如 该字段的 getter 应该返回的不是原始日期 而是它的副本 但对于 java util Date 有两种常见的方法来创建该副本 c
  • HTML5 + CSS3 100% 高度带边距

    给定以下 HTML 布局
  • 列表中的重复元素[重复]

    这个问题在这里已经有答案了 我有一个list在Python中 l a c e b 我想将每个元素复制到紧邻原始元素的位置 ll a a c c e e b b 应保留元素的顺序 gt gt gt l a c e b gt gt gt x f
  • 无法再发送推文:插件 com.apple.share.Twitter.post 无效

    我的应用程序使用 SLComposeViewController 发布到 Twitter 这种方法持续了几个月 然后在大约一周前突然停止了 Twitter 共享视图允许我按 发布 并且以下代码仍然到达 行 twitterComposeVie
  • 发布到 Azure 时未加载捆绑的 CSS

    从 Microsoft 提供的默认 ASP Net Web 表单模板开始 我添加了几个 CSS 文件 将其捆绑并将其添加到 Site Master 事情在本地可以工作 但在 Azure 上发布时就不行了 基于这些链接 link 1 http
  • OSX 中的侧边栏图标图像名称

    该图标是否包含在 Cocoa API 中 图标名称是什么 我读了 HIGH 但找不到参考资料 https developer apple com library mac documentation UserExperience Concep
  • 为什么我无法在 Silverlight 4 中绑定 DataGridTemplateColumn 的可见性?

    似乎仍然无法在 Silverlight 4 中绑定 DataGridTemplateColumn 的可见性属性 我做了一些谷歌搜索 似乎有一些帖子建议这样做事实上它不是 DependencyObject http forums silver
  • SwiftUI 中的免费可扩展列表有什么要求?

    在我的代码中的某个地方 我有一个非常标准的列表 其中包含以下部分 var body some View List ForEach userData groupedBookings group in Section header Text g
  • QRegExpValidator 与 QTextEdit

    QRegExpValidator 可以与 QTextEdit 小部件一起使用吗 我尝试通过 setValidator 实现 并将 qtextedit 设置为父对象 但它不起作用 你应该使用virtual QValidator State Q
  • 如何为官方 nginx Docker 镜像使用自定义 Nginx 配置?

    我有下一个docker compose file nginx build ports 80 80 443 443 links fpm fpm image php fpm ports 9000 9000 The Dockerfile命令列表是
  • 回溯外部化

    目前我有 logback 配置文件 即logback xml这是src main resources 我想设置日志记录级别 但我想在战争之外进行控制 我能想到的一种解决方案是将其外部化在属性文件中 在服务器启动时加载它并替换占位符 有更好的
  • Opengraph W3C 有效吗?

    我想知道 opengraph 标记是否是 W3C 有效的 当我尝试验证它时 出现以下错误 Line 14 Column 17 there is no attribute PROPERTY 如果它无效 会影响我的页面排名和其他搜索引擎算法吗
  • 为什么 UIFont(descriptor:size:) 比 UIFont(name:size:) 慢 200 倍?

    最近我注意到滚动的性能正在减慢 我追踪了这个问题 发现原因是使用了由UIFont 描述符 大小 https developer apple com library ios documentation UIKit Reference UIFo
  • Numpy 通过交错连接数组

    我有 4 个数组 我想将它们连接成一个交错的数组 我该怎么做呢 gt gt gt import numpy as np gt gt gt a np tile 0 5 2 gt gt gt b np tile 1 5 2 gt gt gt c
  • 使用python查找fits文件中像素的物理坐标

    我想从 python 脚本中获取给定像素的物理天空坐标 我想使用 astropy 的 WCS 但我会在 python 中做任何事情 我已经尝试过这两段代码 from astropy io import fits from astropy w
  • 打印数组 LISP 的内容

    为什么这段代码不打印出数组的内容 defun loopfn state loop for x from 0 to 2 do loop for y from 0 to 2 do aref state x y 这里我传递了一个 3x3 矩阵 它