Kurzusok
/
F#
F#
/
Feladatok
/
Halmozás
Halmozás

Halmozás

Könnyű

Utasítások

Valósítsd meg az accumulate műveletet, amely egy gyűjtemény és a gyűjtemény minden elemén végrehajtandó művelet megadásakor visszaad egy új gyűjteményt, amely tartalmazza annak eredményét, hogy a műveletet a bemeneti gyűjtemény minden elemére alkalmaztad.

Adott a következő számgyűjtemény:

  • 1, 2, 3, 4, 5

És a művelet:

  • egy szám négyzetre emelése (x => x * x)

A kódodnak elő kell tudnia állítania a négyzetek gyűjteményét:

  • 1, 4, 9, 16, 25

Nézd meg a tesztkészletet, hogy megismerd az elvárt függvényszignatúrát.

Megkötések

Ne nyúlj a szabványos könyvtárad által biztosított collect/map/fmap/izé funkciókhoz! Oldd meg inkább magad, más alapvető eszközök segítségével.

Tippek

Ehhez a feladathoz a következő F#-nyelvi elemek jönnek jól:

  • Farokrekurzió Nagy bemenet esetén a farokrekurzió használatával kerüld el a veremtúlcsordulást. Bár ezt egyetlen teszteset sem ellenőrzi kifejezetten, a farokrekurzió használata hatékonyabb megoldáshoz vezet. A farokrekurzióról szóló másik hasznos forrás ez a blogbejegyzés.
  • Típuskövetkeztetés Az F# fordító automatikusan kikövetkezteti a típusokat, így gyakran egyáltalán nem kell típusokat megadnod. Ha többet szeretnél megtudni arról, hogyan működik ez, és milyen előnyei vannak, nézd meg ezt az oldalt.
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
F# Exercism

Készen állsz elkezdeni a(z) Halmozás feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) F# nyelvet 18 fogalom148 feladat segítségével, valódi emberi mentorálással, mindez ingyen.