Tracks
/
Ruby
Ruby
/
Übungen
/
Akkumulieren
Akkumulieren

Akkumulieren

Einfach

Anleitung

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:

  • 1, 2, 3, 4, 5

Und die Operation:

  • eine Zahl quadrieren (x => x * x)

Dein Code sollte in der Lage sein, die Sammlung der Quadrate zu erzeugen:

  • 1, 4, 9, 16, 25

Schau dir die Testsuite an, um die erwartete Funktionssignatur zu sehen.

Einschränkungen

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.

Fortgeschritten

Wenn du Methoden für ein generisches Enumerable definierst, ist es üblich, #to_enum aufzurufen, falls kein Block übergeben wird.

Hier ist ein zusätzlicher Test, den du hinzufügen könntest:

def test_accumulate_when_block_is_deferred
  skip
  accumulate_enumerator = [1, 2, 3].accumulate
  accumulated_result = accumulate_enumerator.map do |number|
    number * number
  end
  assert_equal [1, 4, 9], accumulated_result
end
Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
Ruby Exercism

Bereit, mit Akkumulieren zu starten?

Melde dich bei Exercism an, um Ruby mit 21 Konzepte121 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.