関数を実行したいのですが、ターミナルに結果を出力したくありません。たとえば、(set 'A 'B)
通常はB
次のようにコンソールに戻ります。
>>> (set 'A 'B)
B
>>> A
B
何も返してほしくありません。私はまだ静かに、関数が本来あるべきことをすることを望んでいます:
>>> (set 'A 'B)
>>> A
B
完全ではありませんが、式の最後に (values) を使用して出力を抑制することができます。代わりに空白行が表示されます。
一般的な Lisp:
(progn (set 'A 'B) (values))
私はSchemeで同等のものを確信していません。
Lisp REPL は常に何らかの戻り値を出力します。本当に出力が必要ない場合は、コードをターミナルでスクリプトとして実行できます。
例:
#!/path/to/interpreter
(set 'A 'B)
[rest of program]
表示される値は実際には関数の戻り値であり、関数の戻り値は最後に評価された式の値であるため、「空」(たとえば「」を返す) 命令を最後または後に追加するだけです。電話。