Ich werde langsam mit dieser Sprache vertrauter. Aber ich habe ein Problem ... Ich arbeite an einer Funktion, die eine Temperatur entweder in Celsius oder in F umwandelt. Ich übergebe eine Liste als solche (50 C) und behandle dann jeden Fall einzeln. Aus irgendeinem Grund, wenn ich (gleich "C" (cadr lst)) mache, bekomme ich NIL. Ich habe den Cadr der Liste ausgedruckt und es ist C. Irgendwelche Ideen?Lisp funktioniert nicht wie erwartet
(defun convert-to-c(num)
(* (- num 32) 5/9)
)
(defun convert-to-f(num)
(+ (* num 9/5) 32)
)
(defun convert-temp (lst)
(cond ((equalp "C" (cadr lst)) (convert-to-f (car lst)))
(t (convert-to-c (car lst))))
)
Der Anruf ich, damit ich bin
(convert-temp '(30 C))
Schwer zu beantworten, ohne auf den eigentlichen Code zu schauen. Aber natürlich ist 'C' (das Symbol) nicht gleich" C "(eine Zeichenkette). – Sean
Ich füge den Code –
hinzu Wir müssen sehen, wie 'convert-temp' auch aufgerufen wird. – Sean