球拍博士中的 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 的相关文章

  • Lisp 当前内存使用情况

    我需要从 Common Lisp 程序中找出当前使用了多少内存 我知道没有可移植的方法 标准函数room以文本形式将信息打印到标准输出 而不是将其作为值返回 但是sb kernel dynamic usage在 SBCL 工作 其他 Com
  • (Chez) 用于隐藏 lambda 的方案宏

    我想编写一个宏来创建速记语法来隐藏更详细的 lambda 表达式 但我很难理解如何编写宏 我意识到这是反对使用它们的一个论据 给出这个例子 define alist example x 1 2 3 y 4 5 6 z 7 8 9 defin
  • elisp:有没有办法获取当前 .el 模块的名称(如 C 中的 __FILE__ )?

    在我的 elisp 模块的顶部 我想做一些简单的事情 message concat Loading expand file name current elisp module 您可以使用变量load file name https www
  • 任意类型说明符上的 Defmethod?

    我想做的是 defgeneric fn x defmethod fn x integer 1 Positive integer defmethod fn x integer 1 Negative integer 我想要一个可以与任意类型说明
  • 如何在 Clojure 中遍历一棵树,同时收集每个节点节点的值?

    我想创建一个函数来收集二叉树中每个节点的值 在 ClojureDocs 中 我发现了几个用于遍历树 图的函数 例如 tree seq prewalk 和 postwalk https clojuredocs org clojure core
  • 访问Scheme中的调用堆栈深度

    为了演示尾递归的有效性 我想要一种在Scheme中动态访问调用堆栈深度的方法 有没有办法做到这一点 如果没有 有没有办法在其他主要函数语言 OCaml Haskell 等 中做到这一点 Racket 允许您在调用堆栈中存储值 您可以使用它来
  • 对于案例,这些表达案例的方法中哪种最好?

    这些都有效 defun testcaseexpr thecase case thecase foo format t matched foo bar format t matched bar funk format t matched fu
  • 如何解释方案表达式 '(a 'b)

    a b 给出答案 a b 当 a 没有绑定 未加引号 时 这是如何工作的 这就是我们计算表达式时发生的情况 a b gt a b The quote 是简写quote http docs racket lang org guide quot
  • 在 Java Runtime.getRuntime().exec(...) 中使用引号和双引号

    我正在尝试在 Mac OSX 中从 Java 启动 Lisp 映像 使用控制台中的图像 我输入以下内容 lisp image eval package method some argument 一切都运行良好 在Java中 我在使用传递引号
  • 在Emacs中,这个错误是什么意思? “警告:运行时需要 cl 包”

    我正在字节编译一个模块 它给了我这个警告 Warning cl package required at runtime 为什么这是一个警告 我很清楚我正在使用cl包裹 事实上有一个 require cl 模块中的语句 使用有什么问题吗cl
  • 如何获取 SICP、Scheme、练习 2.78 等中的 put 和 get 函数

    我正在尝试在 SICP 中做练习 2 78 但 put 和 get 函数未知 我尝试过多种语言 比如相当大 racket r5rs mit scheme mzscheme等 我什至下载了SICP支持 http www neilvandyke
  • Racket 中的“match”可以具有带有来自外部作用域的变量的模式吗?

    考虑以下示例 lang racket match cat doge a b match b a t f Not a pair 如果我想匹配头部和尾部相同的对 我可能会这样写 但这不起作用 因为第二个a被绑定为一个新变量 并且匹配任何内容 是
  • 方案语言:合并两个数字

    如何将列表中的两个整数合并为一个 方案中 例子 11 223 gt 11223 假设列表恰好有两个元素 并且都是数字 define merge numbers lst let 1st number gt string first lst 2
  • Scheme 和 Racket 中嵌套引号的行为

    在 Racket 中编写函数时 我不小心在符号前面放了两个单引号而不是一个 即我不小心写了 a 并发现嵌套引号的一些行为看起来很奇怪 我正在使用 DrRacket 并使用 Racket lang 和 R5RS lang 对此进行了测试 wr
  • 在我的 Linux 机器上安装 lisp

    我使用 Vim 作为我的编辑器 Practical common Lisp 建议安装 Lispbox 我不知道如何使用 emacs 不知道如何用那个 T T 运行 lisp 代码 之后我找到了一个名为 limp vim 的 vim lisp
  • 使用map或reduce或filter,在Scheme中,计算列表中有多少个元素[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 number length 1 1 0 1 0 0 这假设返回 6 我知道如何使用长度并找到它 但我不知道如何在没有长度的情况下使用映射或过
  • Lisp 中的 (定义 (平均 ....))

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

    我之前问过一个关于方案中数组的问题 结果它们被称为向量 但在其他方面基本上与您期望的相同 有没有一种简单的方法可以在 PLT 方案中处理多维 arrays 向量 出于我的目的 我想要一个名为make multid vector或者其他的东西
  • F# 类型提供程序与 Lisp 宏

    我一直在阅读有关 F 3 0 类型提供程序的内容 例如here http msdn microsoft com en us library hh156509 aspx 并且它们似乎基于一种编译时代码生成 在这方面我想知道它们与 Lisp 宏
  • 球拍博士中的位图[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何在 drracket 中的框架 gui 上加载位图 请给出必要的代码和参考文献 我承认 我很难在文档中找到正确的位置来指向您 这是

随机推荐

  • 如何在 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