2016-09-09 22 views
1

ラケットファイルを読み込み、DrRacketが許可するものと同様に対話的にテストできるようにしようとしています。ラケットがモジュールファイルをロードしていない

test.rkt:

#lang racket 

(define blah 1) 

私は、このコマンドを使用してそれを実行しようとしています:

動作し、私はいつもの出力を得る

racket -it test.rkt

Welcome to Racket v6.6. 
> 

しかし、私が取得しようとするとそれはうまく動作しません:

> blah 
blah: undefined; 
cannot reference undefined identifier 
    context...: 
    /usr/share/racket/collects/racket/private/misc.rkt:88:7 

私はこのプログラムを対話的に実行できますか?

答えて

1

最も簡単な方法は、xreplを使用することが考えられます:(require xrepl)(またはあなたの.racketrcrequireを追加)、そして,enterを使用モジュール内の「移動」コマンド:

$ racket 
Welcome to Racket v6.6.0.4. 
> ,enter test.rkt 
> blah 
1 
+0

ありがとう!もう一度入力しなくても、編集後にファイルをリロードする方法はありますか? – carloabelli

+0

これはあなたには起こらなかった可能性があります:DrRacketは、ラケットのIDEです。 –

+0

@JohnClements OPはDrRacketについて質問したので、少なくとも彼らはそれを認識していると思います。しかし、私はめったにCLI REPLを使用していません。 :) –

2

あなたは非常に近いです。 replから使用できるように、provideが必要です。

#lang racket 

(provide blah) 
(define blah 1) 

そして、あなたはracket -it test.rktでそれを実行するときに、あなたが得る:

Welcome to Racket v6.6.0.4. 
> blah 
1 
関連する問題