Implementiere die accumulate-Operation: Sie bekommt eine Sammlung und eine Operation, die auf jedes Element der Sammlung angewendet wird, und gibt eine neue Sammlung zurück, die das Ergebnis der Anwendung dieser Operation auf jedes Element der Eingabesammlung enthält.
Gegeben sei die Sammlung von Zahlen:
Und die Operation:
x => x * x)Dein Code sollte in der Lage sein, die Sammlung der Quadrate zu erzeugen:
Schau dir die Testsuite an, um die erwartete Funktionssignatur zu sehen.
Lass die Finger von dieser collect/map/fmap/wie-auch-immer-Funktionalität, die deine Standardbibliothek bietet! Löse diese Aufgabe stattdessen selbst mit anderen grundlegenden Mitteln.
Genauer gesagt darfst du keine der eingebauten LINQ-Methoden verwenden.
Da accumulate ein IEnumerable zurückgibt, wird die Ausführung verzögert, bis ToList() darauf aufgerufen wird. Das wird mit der Methode Accumulate_is_lazy getestet.
In dieser Übung musst du eine Erweiterungsmethode schreiben. Weitere Informationen findest du auf dieser Seite.
Melde dich bei Exercism an, um C# mit 62 Konzepte178 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.