2017-11-23 6 views
0

私は大学でコンピュータサイエンスの学生です、と私の教授は私のスキームについての割り当てを与える。..スキーム余分なメッセージを削除するには?等;値; GNU Schemeで未指定の戻り値

、その後は、私は、スキーム9.2バージョンを設定し、これにしようとしたが私はこのために夢中になるだろう[ここに画像の説明を入力] [1]

52 error> (display "hi") 
hi 
;Unspecified return value 

それはなんですか? ;指定されていない戻り値

"hi"を表示したいです!

質問があり、それを削除するにはどうすればいいですか?エラーコード?、テキストをチェックしますか?または何?言葉がありますか?

読むのおかげで....

答えて

0

あなたはread-eval-printループを使用しています。これはあなたがそれをフィードするすべての式に応答があるという効果があります。あなたが好きではない場合は、REPLを使用する代わりにプログラムを実行できます。

プログラムを実行する方法は標準ではカバーされていないため、選択した実装のドキュメントを確認する必要があります。ここで

はイカルスを使った例です:

#!r6rs 
(import (rnrs)) 

(+ 4 5) 
(display "Hello, world!") 
(newline) 

私はtest.scmとしてそれを保存していると私はこのようにそれを起動します。

$ ikarus --r6rs-script test.scm 
Hello, world! 
$ 

お知らせ(+ 4 5)の結果が表示されません。値が計算されてからデッドコードですが、使用されていないために破棄され、次の式を評価し続けます。明示的に尋ねない限り、何も印刷されません。それは、イカルスREPLでundefiend値#<void>>を印刷しません

> (+ 4 5) 
9 
> (display "Hello, world!") 
Hello, world!> (newline) 

> 

:イカルスREPLでは、これを参照してくださいよ。ご覧になるには、displayが必要です。

(display (if #f #t)) 
; ==> #<void> (not printed by the REPL), but `display` will print `#<void>` 
+0

ありがとうございます!私はドキュメントを探していた....しかし、私は何かを見つけることはなかった。
次に、Ikarusを設定しました。それはうまくいった! :)そして...私はここに新しい行を書くことができますか?ハハ.. adasdsadasdas –

関連する問題