DrRacketを使っています。このコードに問題があります:
(define (qweqwe n) (
(cond
[(< n 10) #t]
[(>= (lastnum n) (pochtilastnum n)) (qweqwe (quotient n 10))]
[else #f]
)
)
)
(define ( RTY file1 file2 )
(define out (open-output-file file2 #:mode 'text #:exists 'replace))
(define in (open-input-file file1))
(define (printtofile q) (begin
(write q out)
(display '#\newline out)
))
(define (next)
(define n (read in))
(cond
[(equal? n eof) #t]
[else (begin
((if (qweqwe n) (printtofile n) #f))
) (next)]
)
)
(next)
(close-input-port in)
(close-output-port out))
しかし、( RTY "in.txt" "out.txt" ) を開始すると、 ((if (qweqwe n) (printtofile n) #f)) でエラーが発生します。
application: not a procedure;
expected a procedure that can be applied to arguments
given: #f
arguments...: [none]
どうしたの?
追加:コードを次のように変更しました:
(cond
[(equal? n eof) #t]
[else
(if (qweqwe n) (printtofile n) #f)
(next)]
)
しかし、問題は残ります。