2

私は「コンピュータ プログラムの構造と解釈」という本でプログラミングを学ぼうとしてきました。演習を行うために、DrRacket を使用してきました (Windows 7 用のスキーム インタープリタは見つかりませんでしたが、DrRacket はかなり良さそうです)。今のところ問題はありません. しかし, 演習 1.22 をしているときに問題に遭遇しました. aより大きい素数の与えられた数 ( n ) を与える手続きを書きまし:

(define (search-for-primes a n)
  (define (sfp-iter a n counter)
    (cond ((and (prime? a) (= counter n))
           ((newline) (display "end")))
          ((prime? a)
           ((newline)
            (display a)
            (sfp-iter (+ a 1) n (+ counter 1))))
          (else (sfp-iter (+ a 1) n counter))))
  (sfp-iter a n 0))

手順は意図したとおりに機能し、必要なものはすべて表示されますが、endを表示した後、次のエラー メッセージが表示されます。

アプリケーション: 手順ではありません。与えられた引数に適用できるプロシージャが期待されます: # 引数...: #

そして、次のコード行を強調表示します。

((newline) (display "end"))

何が問題ですか?(つづりの間違いをお詫び申し上げます。英語は私の母国語ではありません。また、フォーマットやタグ付けの誤りについてもお詫び申し上げます。私はここで初めてです)

4

1 に答える 1