3

関数を実行したいのですが、ターミナルに結果を出力したくありません。たとえば、(set 'A 'B)通常はB次のようにコンソールに戻ります。

 >>> (set 'A 'B)
 B
 >>> A
 B

何も返してほしくありません。私はまだ静かに、関数が本来あるべきことをすることを望んでいます:

 >>> (set 'A 'B)
 >>> A
 B
4

3 に答える 3

4

完全ではありませんが、式の最後に (values) を使用して出力を抑制することができます。代わりに空白行が表示されます。

一般的な Lisp:

(progn (set 'A 'B) (values))

私はSchemeで同等のものを確信していません。

Lisp REPL は常に何らかの戻り値を出力します。本当に出力が必要ない場合は、コードをターミナルでスクリプトとして実行できます。

例:

#!/path/to/interpreter
(set 'A 'B)
[rest of program]
于 2013-05-04T01:23:18.297 に答える
1

表示される値は実際には関数の戻り値であり、関数の戻り値は最後に評価された式の値であるため、「空」(たとえば「」を返す) 命令を最後または後に追加するだけです。電話。

于 2014-03-24T15:33:53.403 に答える