gpt4 book ai didi

Emacs:在 Racket 模式下关闭 pretty-print

转载 作者:行者123 更新时间:2023-12-04 18:59:37 26 4
gpt4 key购买 nike

我在 Windows 10 上运行 Emacs 24.5.1 并通过 SICP . MIT 编辑器 Edwin 不能正常工作,尤其是在 Windows 上。 Racket 似乎是一个不错的选择。我已经安装了 Racket 和 racket-mode一切似乎都运行良好。但是,racket-mode坚持漂亮地打印我的结果。如何让它以十进制形式打印?

例如,

(require sicp)

(define (square x) (* x x))

(define (average x y)
(/ (+ x y) 2))

(define (improve guess x)
(average guess (/ x guess)))

(define (good-enough? guess x)
(< (abs (- (square guess) x)) 0.001))

(define (sqrt-iter guess x)
(if (good-enough? guess x)
guess
(sqrt-iter (improve guess x)
x)))

这会产生诸如
> (sqrt-iter 1 2)
577/408

很多 documentation当我在谷歌上搜索“Racket”和“pretty-print”这两个词时出现了,但我没有运气理解它。 Racket 文档似乎通过一些以“pretty-print”开头的变量来控制 pretty-print 。但是没有以 racket- 开头的内容或 prettyM-x 内过来。也许分数形式不是 Racket 认为的 pretty-print ?

最佳答案

使用浮点数 1.0 和 2.0 而不是精确的数字 1 和 2 开始迭代。

文字 1 被读取为精确整数,而 1.0 或 1. 被读取为浮点数。

现在函数/适用于两个精确的不精确数字。如果输入确切的数字,它会产生一个分数(最终会打印在 repl 中)。

那就是您看到的不是 pretty-print 的效果,而是实际结果。该算法仅在浮点数作为输入时有效,因此您可以考虑添加对 exact->inexact 的调用到你的功能。

关于Emacs:在 Racket 模式下关闭 pretty-print ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40965074/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com