Lor*_*sum 5 emacs pretty-print racket
我在Windows 10上运行Emacs 24.5.1并通过SICP.麻省理工学院的编辑Edwin功能不佳,特别是在Windows上.球拍似乎是一个很好的选择.我已经安装了球拍和球拍模式,一切似乎运行正常.但是,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
当谷歌使用术语"球拍"和"漂亮的印刷品"时,会出现很多文档,但我没有运气理解它.Racket文档似乎通过一些以'pretty-print'开头的变量来控制漂亮打印.然而,没有任何开始racket-或pretty内部M-x出现.也许分数形式不是Racket认为漂亮的印刷品?
使用浮点数 1.0 和 2.0 而不是精确的数字 1 和 2 开始迭代。
文字 1 被读取为精确整数,而 1.0 或 1. 被读取为浮点数。
现在函数 / 适用于精确和不精确的数字。如果输入精确的数字,它会产生一个分数(最终会在 repl 中打印)。
也就是说,您看到的不是漂亮打印机的效果,而是实际结果。该算法仅对浮点数作为输入有效地工作,因此您可以考虑添加对exact->inexact函数的调用。