On Wed, 17 Nov 2010 01:46:58 -0800 (PST) "R. Baumann" baumann-garbsen@t-online.de wrote:
Das ist sicher ein guter Hinweis. In Squeak gibt es sogenannte Kategorien, und zwar Klassenkategorien und Methodenkategorien. Man könnte, diesem Hinweis folgend, eine Klassenkategorie "Eulerprojekt" anlegen und darin eine Klasse "Eulerlösungen". In dieser Klasse zu jeder Aufgabe, etwa zu Aufgabe 74, eine Methodenkategorie "Euler-074".
Zu Aufgabe 74 gibt es drei Methoden, nämlich "faksumme", "kettenlänge" sowie die Hauptmethode, welche die gesuchte Lösungszahl errechnet. Aber die beiden ersteren müssen in der Klasse Integer implementiert werden, weil sie auf ganzen Zahlen operieren, und wie mit der dritten zu verfahren ist, weiß ich überhaupt nicht.
Du fragst einen Integer nach seiner faksumme und seiner kettenlänge. Wen fragst du nach der Lösung der Euleraufgabe?
Das _könnte_ je nach Aufgabe ein Integer sein, aber dann wird es in der Tat schwierig, den Überblick zu behalten. Deswegen mein ursprünglicher Vorschlag, eine Klasse je Aufgabe anzulegen. Dort kannst du dann evtl. "teure" Ergebnisse zwischenspeichern und so Verwaltungskram erledigen.
Aufgabe74 new faksumme: 42; kettenlänge: 56; lösung.
und die Methoden würden auf die "richtigen" Implementationen verweisen.
fakSumme: anInteger ^anInteger fakSumme
Auf die Art hast du einen einheitlichen Zugang für alle Aufgaben und findest mit ein paar Klicks die Arbeitstiere.
s.