Ich unterrichte seit langem Informatik. Die am häufigsten gelehrten Sprachen sind C#, C++, Java, Python usw. Ich füge jedes Semester Beispiele aus anderen Sprachen wie Perl, Ruby usw. hinzu, so dass die Schüler die Gemeinsamkeiten zwischen den Sprachen sehen können. Ich habe mich bei Common Lisp versucht und muss zugeben, dass ich zum ersten Mal seit fast 40 Jahren mit einer Sprache an die Wand gegangen bin.Läuft Common Lisp auf ideone.com?
Common Lisp hat mich mit einem einfachen Beispielprogramm zum Kompilieren und Ausführen ratlos. Ich brauche den Code, um auf ideone.com zu laufen, so dass die Schüler es selbst ausprobieren und Änderungen vornehmen können, um zu sehen, was passiert. Ich würde jede Hilfe sehr schätzen, die ich mit diesem ... bekommen kann. Eine ganze Woche des Kampfes ist über alles, was ich nehmen kann. Hier
ist der Code:
(defclass employee() ;;class definition header
((empid :accessor employee-empid;;member variable accessible and preset
:initform 230
:initarg :empid)
(name :accessor employee-name;;member variable accessible and preset
:intform 'bill
:intarg :name)
(pay :accessor employee-pay;;member variable accessible and preset
:initform 10
:initarg :pay)))
(defmethod infofun ((p employee));;member method to allow two member vars to be changed
(print "The Worker: " : (employee-name p))
(setf (employee-pay p))
(setf (employee-empid p)))
(setq w1(make-instance 'employee :empid 100 :name 'worker1 :pay 47));;instance of class for w1
(setq w2(make-instance 'employee :empid 102 :name 'worker1 :pay 57));;instance of class for w2
(setq w3(make-instance 'employee :empid 103 :name 'worker1 :pay 67));;instance of class for w3
(describe w1);;get general info from List about the instance w1
(describe w2)
(describe w3)
(infofun w1);;run the member function, change the member vars
(infofun w2)
(infofun w3)
(setf (employee-pay w1) 147);;change a member var by code
(describe w1);;look at w1 again and note the values
(infofun w1);;change w1 again
(describe w1);;look at w1 one more time and check the new values
Ich hoffe, dass jemand mir dabei helfen kann.
dank
Dr t
Sie benötigen würde INFOFUN zu überprüfen: a) was die Druckfunktion erlaubt Argumente. b) ein einzelner Doppelpunkt ist definitiv falsch c) Wenn Sie SETF aufrufen, erwartet er zwei Argumente. Sie stellen nur einen zur Verfügung. –
auch: Wenn Sie ein Problem posten, sollten Sie auch die Fehlermeldungen angeben. –
Da der Fehler zur Laufzeit auftritt, gibt es keine Fehlermeldungen. Nur keine Ausgabe wie ich es erwarte.Ich bin überzeugt worden, dass das Problem in der infofun Funktion ist, aber ich kann es nicht zur Arbeit bringen ... –