球拍博士中的 mcons

2023-11-27

我在读取球拍博士的输出时遇到问题。默认情况下,它使用 mcons 显示列表。例如,sicp 练习 2.32 生成:

> (subsets (list 1 2 3))
(mcons
 (mcons
  '()
  (mcons
   (mcons 3 '())
   (mcons
    (mcons 2 '())
    (mcons
     (mcons 2 (mcons 3 '()))
     (mcons
      (mcons 1 '())
      (mcons
       (mcons 1 (mcons 3 '()))
       (mcons
        (mcons 1 (mcons 2 '()))
        (mcons (mcons 1 (mcons 2 (mcons 3 '()))) '()))))))))
 '())

我读这个有困难。有没有办法让输出看起来像:

 (() (3) (2) (2 3) (1) (1 3) (1 2) (1 2 3))

Thanks!


你知道你在你的网站中使用什么语言吗?#lang线?下面的其余说明假设您正在使用#lang line.


如果你在#lang r5rs你呢display or write值,您应该看到您期望的输出。

> (define p (list 1 2))
> (display p)
(1 2)
> (set-car! p 'one)
> (display p)
(one 2)

如果您只是在交互中输入裸露的值,DrRacket 将会print他们,并且使用您所看到的表示。在 DrRacket 中,您可以定制价值观的方式print。这是该过程的逐步说明:

  1. 前往Language菜单,然后选择选择语言。您应该会看到弹出的语言对话框。

  2. 如果左下角的按钮显示显示详细资料,单击它,对话框窗口应展开以包含自定义项。

  3. 寻找输出方式选项。应该有四种选择:构造函数, 准报价, write, and print。选择write样式,然后按Ok确认定制。

一旦你这样做了,那么:

> (display (list 1 2))
(1 2)
> (write (list 1 2))
(1 2)
> (list 1 2)
{1 2}

使用大括号,它的打印结果仍然与您预期的略有不同,因为它试图表明列表结构是可变的。

如果这让您烦恼,我们可以解决这个问题。在程序顶部附近添加以下行(但在#lang line).

(#%require r5rs/init)

该行引入了一个特定于 Racket 的模块,称为r5rs/init试图提高 r5rs 合规性;特别是,对于可变对,大括号最终应该打印为圆形。

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

球拍博士中的 mcons 的相关文章

  • 方案如何返回多个值?

    我注意到几乎所有方案函数只能返回一个列表作为输出 下面 我想返回邻居的所有相邻节点的多个值 define neighbors l w if and 1 l 1 w list and l 1 w and 1 l w how to output
  • 从 CCL 检索(加载)源代码?

    我打了电话 load code lisp 用CCL 然后不小心删除了code lisp 有什么办法可以找回源代码吗 CCL 在内存中是否有它 这是一个非常特殊的功能 这里只为克洛祖尔CL 该代码在其他地方不起作用 这在 CCL IDE 中对
  • 学习 LISP 的最佳方法是什么? [关闭]

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

    我正在 Racket 中编写一个程序 我正在使用它运行racket foo rkt 这是可行的 除了程序顶层每个表达式的结果都会被打印 即使没有调用打印函数 就好像程序是逐行输入到 REPL 中的 但在这种情况下 我根本不尝试使用 REPL
  • 迭代函数可以调用自身吗?

    当观看下面的 MIT 6 001 课程视频时 讲师在 28 00 将此算法标记为迭代 但是 在 30 27 他说这个算法和实际的 递归 算法都是递归的 该函数正在使用基本情况调用自身 那么这次迭代情况如何 private int itera
  • 试图理解 setf + aref “魔法”

    我现在已经了解了数组和aref在 Lisp 中 到目前为止 它很容易掌握 而且它的作用就像一个魅力 defparameter foo make array 5 aref foo 0 gt nil setf aref foo 0 23 are
  • 具有类型推断功能的 Lisp 静态类型方言,适用于 Windows?

    是否有静态类型的 Lisp 方言可以执行类型推断并与 Windows 兼容 我找到了 CMUCL 但它似乎没有 Windows 兼容版本 看一下SBCL http www sbcl org它源自 CMUCL 它通过类型声明对静态类型提供良好
  • 在 Slime 中复制/猛拉整个 Lisp 表单

    有没有办法在 Slime Emacs 中复制 猛拉整个表单 例如 如果我有以下功能 myfunc lst myotherfunc lst 我想复制 复制 myotherfunc lst 当我的光标位于该表单的左括号或右括号时 在 Slime
  • 忽略 Racket 中的多个返回值

    在 Racket 中 可以通过执行以下操作从函数返回多个值 define foo values 1 2 3 然后我们可以通过这样做来绑定它们 define values one two three foo Now one一定会1 two t
  • 如何使用 DrRacket 遵循 SimplyScheme 书籍

    我希望能够操纵句子 以便我可以将它们作为输入并根据单个字母等内容返回输出 例如 ends e 命令将返回所有以 e 结尾的单词 ends e only the good die young gt the die 不幸的是 e 是一个字符串
  • 方案中的配对组合

    我试图找到可以使用方案中的 N 对列表进行的各种组合 这是我到目前为止所处的位置 define pair combinations list of pairs if null list of pairs nil let first caar
  • Lisp 中的十进制到二进制 - 制作非嵌套列表

    当达到我的递归情况时 我使用list将未来结果附加到当前结果 但由于递归 我最终得到一个嵌套列表 当我有一个导致递归超过五次的数字时 这会导致错误 任何想法如何我可以在一个简单的非嵌套列表中获得结果 例如 CL 用户 100 8 gt BI
  • 内联执行生成的汇编程序

    我正在阅读以下演示文稿 http wingolog org pub qc 2012 js slides pdf http wingolog org pub qc 2012 js slides pdf其中讨论了 4 10 19 内联 ASM
  • Clojure 中的快速素数生成

    我一直在努力解决欧拉计划 https projecteuler netClojure 中的问题得到了改善 我已经遇到过几次素数生成问题 我的问题是它花费的时间太长了 我希望有人能帮助我找到一种有效的方法 以 Clojure 的方式做到这一点
  • 关于onlisp中的广义变量

    我不确定这里发生了什么 文中的宏观示例 基本上不知道如何使用get setf 方法 一个内置宏 也许是函数 具体来说 如果某些返回值是这样的情况呢 get setf 方法为零 例如 get setf 方法 x NIL NIL NEW 306
  • 如何向现有 (OS X) 可执行文件添加节?

    有什么方法可以将部分添加到已链接的可执行文件中吗 我正在尝试基于以下代码对 OS X 可执行文件进行代码签名苹果说明 http developer apple com library mac documentation Security C
  • 如何更改 DrRacket 中 R6RS 的打印行为以像 #langracket 一样打印结果

    当我在 IDE 版本 5 3 5 2013 06 18 f 中运行程序时 对于 lang racket eg lang racket 4 5 10 2 When pressing Run gt the interaction window
  • 一次性的 lisp 宏,我的实现正确吗?

    我正在尝试从 Peter Seibel 的书 Practical Common Lisp 中学习 Lisp 在第 8 章 宏 定义你自己的 http www gigamonkeys com book macros defining your
  • 计算二项式时“应用程序:不是过程”

    我正在定义一个函数binomial n k 又名帕斯卡三角形 但出现错误 application not a procedure expected a procedure that can be applied to arguments g
  • “映射”是否一定会产生额外的嵌套级别?

    是否使用嵌套map自动创建另一层嵌套 这是我使用的一个基本示例 One level map lambda x1 Hi 1 Two levels map lambda x1 map lambda x2 Hi 1 1 Three levels

随机推荐

  • 如何在 OS X 上安装 Hudson 作为服务?

    Running hudson这很简单 但目前文档缺少在 OS X 上安装正在运行的 hudson 作为守护进程 服务的教程 当您切换到生产时 您需要确保其配置正确并受到保护 要求 能够在端口 80 上运行它 不以 root 身份运行 或者至
  • android.net 与 java.net 以及不同的 URI 类

    我正在编写一个带有模型对象的应用程序 该对象将向某些 Web 服务公开 Restful 接口 我注意到 Android 中有一个 java net URI 和一个 android net URI 类 使用其中一种与另一种相比有什么好处 有没
  • 在 django 过滤器中使用 dateadd

    我有一个按开始日期和持续时间 以天为单位 定义订阅期的模型 class SubscriptionProduct models Model start date models DateField duration models Integer
  • 可以包装或合并单独的名称空间吗?

    我似乎记得在某处看到过关于将多个命名空间合并为一个的方法的注释 现在 在寻找所说的笔记时 我找不到它们 即使使用搜索词组合 分组 合并和包装进行搜索 我也没有找到任何结果 也许我误解了我之前所看到的 我对此没有具体的应用程序 这只是出于好奇
  • Blazor 监听 javascript 事件

    我有一个名为 Hello 的 JavaScript 事件 addEventListener hello function alert event listener 并且 在另一个 javascript 函数中 我引发了该事件 let eve
  • 使用 MongoTemplate 进行 Spring Boot

    我是 Spring Boot 和 MongoDb 的新手 尝试使用 Mongo 存储库和 Spring Boot 的一些示例 但在浏览了一些文档后发现 Mongo Template 将是一个更好的选择 无法使用 Mongo 模板示例获取正确
  • WF4 RC - 使用 ActivityXamlServices 从松散 Xaml 加载 WF 服务时无法创建未知类型

    我正在尝试动态托管 WF4 RC 服务 我有一个包含两个项目的测试解决方案 第一个是声明性工作流服务库 其中包含一个根 Flowchart 活动和一个简单的自定义代码活动 工作流服务库不依赖于任何其他自定义程序集或引用 第二个是我的主机应用
  • 访问基本过滤器 Play Framework 2 中的请求正文

    我是斯卡拉新手 正如play框架官方文档中提到的https www playframework com documentation 2 3 x ScalaHttpFilters Play 提供了一个名为 EssentialFilter 的较
  • 构造函数可以是异步的吗?

    我有一个项目 我试图在构造函数中填充一些数据 public class ViewModel public ObservableCollection
  • 如何处理 Java/Android 中的慢速网络连接

    我有一个应用程序需要多次调用 MySQL 数据库 它在一个AsyncTask 下面是一个可能看起来像的示例 我的主要问题是这样的 有时 主机 Godaddy 呃 决定停止连接 而我的progressDialog加载 加载 加载更多 直到强行
  • 如何在android中使用SearchView小部件时突出显示过滤后的文本

    我已经实施了SearchView我的应用程序中的小部件 它工作正常 现在我需要做的是 每当我在我的SearchView Bar 过滤结果应突出显示搜索的单词 喜欢 我正在用这个搜索视图小部件为 Override public void on
  • Twitter:在 C# 中验证用户名和密码

    赏金问题 我正在使用 c 3 5 窗口窗体应用程序 我正在使用已接受的答案中提到的代码 我收到以下错误 远程服务器返回错误 401 未经授权 验证用户名和密码的示例代码将非常感激 赏金问题结束 我有一个具有以下用例的应用程序 当用户第一次开
  • 打算在Android上启动时钟应用程序

    我制作的时钟小部件遇到问题 我希望用户触摸时钟并启动手机上的时钟应用程序 这是代码 this worked on my nexus 2 1 if VERSION SDK equals 7 RemoteViews views new Remo
  • QML 条件绑定未按预期工作

    如果我有一个简单的Binding形式的对象 Rectangle height 400 width 500 property var someObj null Binding on color when someObj value someO
  • TypeError:只能将 str (不是“NoneType”)连接到 str

    尝试在 Python 3 7 中构建一个大写到小写的字符串转换器 这是我的代码 def convertChar char if char gt A and char lt Z return chr ord char 32 def toLow
  • 如果刷新 AJAX 请求的内容 (ob_flush),内容会被加载吗?

    我的意思是 让我们发出一个 AJAX 请求并将结果插入到 div result 中 在后端脚本使用ob flush 发送标头 但在请求终止之前不终止请求 使用exit or ob flush end 仅当请求终止时 内容才会加载到 resu
  • Unity中序列化和反序列化Json和Json数组

    我有一个从 PHP 文件发送到 unity 的项目列表WWW The WWW text好像 playerId 1 playerLoc Powai playerId 2 playerLoc Andheri playerId 3 playerL
  • 根据 的状态设置

    仅使用 CSS 是否可以根据输入的状态来设置 HTML 标签的样式 就我而言 我想要设计一个
  • 按第二项(整数值)对元组列表进行排序[重复]

    这个问题在这里已经有答案了 我有一个元组列表 看起来像这样 abc 121 abc 231 abc 148 abc 221 我想按元组内的整数值升序排列此列表 是否可以 尝试使用key的关键字参数sorted 默认按升序排序 sorted
  • 球拍博士中的 mcons

    我在读取球拍博士的输出时遇到问题 默认情况下 它使用 mcons 显示列表 例如 sicp 练习 2 32 生成 gt subsets list 1 2 3 mcons mcons mcons mcons 3 mcons mcons 2 m