Klausur Sept 2004

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Klausur Sept 2004
Hat vielleicht jemand eine Idee zur Aufgabe 2 b) ??
Wenn ich die Aufgabe richtig verstehe soll man ja
(apply + (eval ((lambda (x) ((lambda (y) (list x y)) 1)) 2)))
auswerten. DrScheme beschwert sich aber (zurecht, wie ich finde) mit:
procedure application: expected procedure, given: 2; arguments were: 1

((lambda (x) ((lambda (y) (list x y)) 1)) 2)) sollte ja auch (2 1) ergeben, oder ?
Und (eval (2 1)) macht dann ja nicht viel Sinn; entweder (eval (+ 1 2)) oder (apply + (1 2))… das würde 3 ergeben… (ODER ?) ?


Allein schon zwecks dem eval denk ich is eher dieses hier gemeint: (apply + (eval '((lambda (x) ((lambda (y) (list x y)) 1)) 2)))
Auf das ’ nach eval achten. :wink:


du hast völlig recht!


Ahh, danke, ja, das macht schon irgendwie sinn…
anstatt ((lambda (x) ((lambda (y) (list x y)) 1)) 2) den ausdruck
(eval '((lambda (x) ((lambda (y) (list x y)) 1)) 2)) zu nehmen ist ne möglichkeit die ich nicht bedacht habe :slight_smile: