2009-05-24 5 views
30

私は 'scheme file.scm'のようなものを入力し、ファイルを解釈してからREPLにロードするのではなくシェルに戻したいと思っています。MITスキームで.scmスクリプト(REPL外)を実行するにはどうすればよいですか?

編集:私はスキーム< test.scmを試しましたが、それでもREPLを使用していますが、ストリームが終了したときにスキームが終了するだけです。

答えて

29

scheme <file.scmが有効です(--interactiveを指定していない限り、stdinは端末ではなく、非対話形式で動作します)。

+0

これは満たしていませんOPが編集した「REPLを使用しない」という要件。 [この回答](https://stackoverflow.com/a/47724861/5916915)を参照してください。 – Flux

2

MITのスキームを使用した方式でプログラムを実行するには:

scheme --quiet < program.scm 

--quietオプションは、プログラムからの出力は、あなたが勝っ表示されている唯一のもの(すなわちであることを保証あなたの要件に応じて、REPLが見えません)。

参考:scheme --help

--batchモード、--quiet、--silent

はバージョンと著作権のスタートアップレポート、および 決別を抑制します。

このコマンドラインオプションは、間違ってlist of command line options in the documentationから削除されているようです。 scheme --helpが表示されており、--batch-modeが参照マニュアルの他の部分(例:here)で使用されているため、これは正規のコマンドラインオプションだと思います。

0

chez --helpを確認した後、私はこの(のは、私はシェ・スキームを使用しているとしましょう)が見つかりました:また

chez --script ./temp.scm 

を、--verboseは非常に便利です:

chez --verbose --script ./temp.scm 
関連する問題