local innerhalb eines local < Scheme < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) überfällig | Datum: | 11:11 Do 05.11.2009 | Autor: | Preed |
Hi zusammen,
ich habe in Scheme versucht mittels des RBG Codes den "Farbwinkel" zu berechnen. Das hat soweit auch funktioniert. Nun hat man mir geraten die locals nochmal zu schachteln. Das habe ich dann auch versucht doch kommt dann immer wieder in Fehler. Ich arbeite mit Dr. Scheme mit dem Sprachlevel Zwischenstufe mit Lambda.
---Quelltext ohne local Schachtelung--- (funktioniert)
(define-struct color (red blue green))
(define (hue color)
(local ((define r
(/ (color-red color) 255))
(define b
(/ (color-blue color) 255))
(define g
(/ (color-green color) 255))
(define m
(min r g b))
(define M
(max r b g))
(define (main x y)
(* 60 (/ (- x y) (- M m))))
)
(cond
[(equal? M m) 0]
[(equal? r M) (main g b)]
[(= g M) (+ 120 (main b r))]
[(= b M) (+ 240 (main r g))]
)
)
)
---Quelltext mit local Schachtelung--- (funktioniert nicht)
(define-struct color (red blue green))
(define (hue color)
(local ((define r
(/ (color-red color) 255))
(define b
(/ (color-blue color) 255))
(define g
(/ (color-green color) 255))
(local ((define m
(min r g b))
(define M
(max r b g))
(local ((define (main x y)
(* 60 (/ (- x y) (- M m))))
)
)
)
)
))
(cond
[(equal? M m) 0]
[(equal? r M) (main g b)]
[(equal? g M) (+ 120 (main b r))]
[(equal? b M) (+ 240 (main r g))]
)
)
---Fehlermeldung---
define: expected only one expression for the function body, but found one extra part
Ich sehe den Fehler einfach nicht. Ich denke mal schwer dass es an dem local und den Klammern liegt da es ja vorher ging.
Kann mir bitte wer helfen?
Danke im Vorraus
Preed
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:20 So 08.11.2009 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|