私はracket foo.rkt
で走っているラケットでプログラムを書いています。これは動作しますが、印刷機能が呼び出されていなくても、プログラムトップレベルのすべての式の結果が出力される点が異なります。プログラムがREPLに行単位で入力されたかのようですが、この場合はREPLをまったく使用しようとしていません。コマンドラインからプログラムを実行しようとしています。ラケットを印刷しないようにするには?
どのように物事を印刷しないようにするには?
私はracket foo.rkt
で走っているラケットでプログラムを書いています。これは動作しますが、印刷機能が呼び出されていなくても、プログラムトップレベルのすべての式の結果が出力される点が異なります。プログラムがREPLに行単位で入力されたかのようですが、この場合はREPLをまったく使用しようとしていません。コマンドラインからプログラムを実行しようとしています。ラケットを印刷しないようにするには?
どのように物事を印刷しないようにするには?
#lang racket
、ラケットの実装におけるデフォルトの言語は、常にバックので、REPLが印刷には何もしていますゼロ値を返すREPL、および(values)
、によって無視された値を返します(void)
除くトップレベルの文を、印刷します。つまり、main
関数のどちらかで終了し、REPLからの出力はありません。
statement-1
statement-2
statement-3
そしてこれを変更:define
とset!
等
(define (main)
statement-1
statement-2
statement-3
(void)) ; or (values)
フォーム番目まったく同じ目的のために(void)
と同じ値を返します。
racketでサポートされている言語はすべてトップレベルの文ではありません。実際のスキーム言語#!r6rs
では、トップレベルのステートメントは印刷されません。