2

スキームコードをデバッグしようとしています。変数またはバインディングの内容を出力できれば助かります。

Ruby の「p」ステートメントに相当するものは、Scheme にありますか。

特にラケットを使っています。

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 の呼び出しを考えると、Scheme での呼び出しputsと直接的に同等のものは考えられません。ppinspect

于 2013-04-08T20:41:24.670 に答える