方案相当于ruby debug'p'语句

时间:2013-04-08 20:40:13

标签: ruby scheme racket

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

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

特别是,我正在使用Racket。

2 个答案:

答案 0 :(得分: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

作为一种低技术替代方案,您可能也对C-c C-l keyboard shortcut in Racket感兴趣。

答案 1 :(得分:1)

您可以使用display在评估窗口中显示变量的内容,或者如果您想要更多地控制输出格式printf。但这只相当于在Ruby中调用puts - 考虑到Ruby的p在对象上调用p,我无法想到Scheme中的inspect直接等价。