0
(define (number-checker)
     (define userinput (read))
     (cond
        [(eof-object? userinput) print-fun)]
        [else
          (set!  tries (+ 1 userinput))
          (number-checker)]))

プログラムを終了したい場合、プログラムをprint-funに移行するには、何を書く必要がありますか?

4

2 に答える 2

4

あなたの質問は実際にはあまり明確ではありませんが、満足できる値を取得する方法を尋ねたいだけの場合はeof-object?、を使用できますeof

于 2012-07-11T05:27:18.297 に答える
1

(Racketを使用して)コンパイルしていません:

タイプミスを修正した後も:

ここに画像の説明を入力してください

私が正しく理解していれば、「ファイルの終わり」の文字が到着したときに、プロンプトからのユーザー入力を読み取り、ベイルアウトすることになっています。しかし、このコードは間違いなく機能しません。何print-funですか?等

更新:
動作するコードは次のとおりです。

#lang racket
(define (number-checker)
     (define userinput (read))
     (define tries 'a)
     (cond
        [(eof-object? userinput) 'print-fun]
        [else
          (set!  tries (+ 1 userinput))
          (number-checker)]))

それはこのように動作します:

ここに画像の説明を入力してください

更新2: 実行後に表示されるeofボタンを示す別のスクリーンショット(number-checker)

ここに画像の説明を入力してください

于 2012-07-11T05:15:42.387 に答える