2

我正在尝试调试一些方案代码。如果我可以打印变量的内容或绑定出来会很有帮助。

是否有与 Scheme 中 Ruby 的“p”语句等效的语句。

特别是,我正在使用 Racket。

4

2 回答 2

5

没有 p 等价物,但很容易自己动手。

#lang racket

(define-syntax-rule (p e)
  (let ([ans e])
    (printf "~a => ~a\n" (quote e) ans)
    ans))

(p (+ 1 2))

输出

(+ 1 2) => 3
3

作为低技术替代品,您可能还对Racket 中的 Cc Cl 键盘快捷键感兴趣。

于 2013-04-08T22:10:13.193 回答
1

您可以使用 来在评估窗口上显示变量的内容display,或者如果您想要更多地控制输出的格式,请使用printf。但这仅相当于在 Ruby 中调用——鉴于 Ruby对对象的调用,puts我想不出直接相当于在 Scheme 中的调用。ppinspect

于 2013-04-08T20:41:24.670 回答