私はループに似たような振る舞いをするスキームfuncを書こうとしています。体系基本ループ
(最大FUNC分ループ)
このループは範囲minとmax(整数)との間のFUNCを実行する必要が
- この
(loop 3 6 (lambda (x) (display (* x x)) (newline)))
9
16
25
36
及びIのような例の一つ関数を定義します。
(define (loop min max fn)
(cond
((>= max min) ((fn min) (loop (+ min 1) max fn) ))
)
)
コードを実行すると結果がエラーになります。 発生する。 このエラーを処理できませんでした。
(loop 3 6 (lambda (x) (display(* x x))(newline)))
9
16
25
36
Backtrace:
In standard input:
41: 0* [loop 3 6 #<procedure #f (x)>]
In utku1.scheme:
9: 1 (cond ((>= max min) ((fn min) (loop # max fn))))
10: 2 [#<unspecified> ...
10: 3* [loop 4 6 #<procedure #f (x)>]
9: 4 (cond ((>= max min) ((fn min) (loop # max fn))))
10: 5 [#<unspecified> ...
10: 6* [loop 5 6 #<procedure #f (x)>]
9: 7 (cond ((>= max min) ((fn min) (loop # max fn))))
10: 8 [#<unspecified> ...
10: 9* [loop 6 6 #<procedure #f (x)>]
9: 10 (cond ((>= max min) ((fn min) (loop # max fn))))
10: 11 [#<unspecified> #<unspecified>]
**utku1.scheme:10:31: In expression `((fn min) (loop # max ...))`:
utku1.scheme:10:31:Wrong type to apply: `#<unspecified>`
ABORT: (misc-error)**
ありがとう:D私はポイントを得た – tkcn