Hat jemand Erfahrung mit Racket? (If-else Problem)
-
;; 1. Versuch (define (number x) (if (< x 7) 'x+3 'x*4))
;; 2. Versuch (define (number x) (if (< x 7) (+ x 4) (* x 3)))
Ich habe eine Zahl x. Wenn die Zahl kleiner als 7 ist, dann wird sie mit 3
addiert, ansonsten mit der Zahl 4 multipliziert! Leider passiert nichts, wenn
ich den Code in DrRacket kompiliere. Der If-Part wird schwarz markiert. Ich
vermute, so sagt mir DrRacket, dass die Zeile nichts macht bzw. sinnlos ist!
Ich habe auch schon verschiedene Möglichkeiten ausprobiert (siehe Code).Was kann ich tun?
-
Zumindest der zweite Code sieht richtig aus. In Clojure macht man das ganz ähnlich und da funktioniert's:
(defn bla [x] (if (< x 7) (+ x 4) (* x 3)) ) (bla 7) ; Gibt 21 aus.
L. G.,
IBV
-
Hast du die Funktion denn mal aufgerufen? Beide sehen richtig aus (auch wenn die erste etwas anderes macht, als du vermutlich willst.)
Disclaimer: Ich gehe davon aus, dass Racket sowas wie Scheme ist.