5

私のコースの1つは、SICPの一部のセクションでDrRacketを使用しています。私たちはメタサーキュラーエバリュエーターに取り組んでおり、作業で使用する必要のあるR5RSコードファイル(set-car!およびset-cdr!)があります。R5RSファイルは約500行なので、別のバッファーに保存することをお勧めします。どうすればそれを回答バッファの定義に含めることができますか?がracket/include必要なよう#lang racketですが、その言語ではありませんset-car!set-cdr!

4

1 に答える 1

10

次のことができます。

  1. モジュールを#lang r5rsに記述し、 lang 行の後に次を追加します。

    (#%provide (all-defined))
    
  2. #lang r5rsにも回答バッファを用意し、 #%requireを使用してその定義を取り込みます。

    (#%require "some-module.ss")
    

たとえば、次の内容のf1.ssがあるとします。

#lang r5rs
(#%provide (all-defined))
(define (f x)
  (* x x))

および次の内容のf2.ss :

#lang r5rs
(#%require "f1.ss")
(display (f 3))
(display (f 4))

次にf2.ssを実行すると、916 を表示する際に適切な処理が行われ、その Interactions バッファーはf1.ssに記述されたすべての定義を認識します。

これは、ドキュメントに記載されているものをインポートする Racket 固有の低レベル モジュールを使用します。幸運を!

于 2011-11-28T04:07:21.670 に答える