Ich versuche ein Schema func zu schreiben, das sich ähnlich wie eine Schleife verhält.scheme basic loop
(loop min max func)
Diese Schleife sollte die FUNC Bereich zwischen min und max (ganzen Zahlen) ausführen
- ein von einem Beispiel wie diese
(loop 3 6 (lambda (x) (display (* x x)) (newline)))
9
16
25
36
und I Definieren Sie die Funktion als
(define (loop min max fn)
(cond
((>= max min) ((fn min) (loop (+ min 1) max fn) ))
)
)
wenn ich den Code ausführen bekomme ich das Ergebnis dann einen Fehler auftreten. Ich konnte diesen Fehler nicht verarbeiten.
(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)**
danke: D Ich habe den Punkt – tkcn