Declaratieve Talen/Oplossing Oneindige rij: verschil tussen versies
Naar navigatie springen
Naar zoeken springen
Geen bewerkingssamenvatting |
|||
Regel 13: | Regel 13: | ||
De clou is het begin van de rij bijhouden in een parameter. | De clou is het begin van de rij bijhouden in een parameter. | ||
M'n inspiratie kwam uit de Fibonacci-rij op p.26 | M'n inspiratie kwam uit de Fibonacci-rij op p.26 | ||
====Alternatief==== | |||
infinite::t->([t]->t)->[t] | |||
infinite x f = x:inf [x] f | |||
where | |||
inf r f = f r : inf ((f r):r) f |
Versie van 31 dec 2009 17:25
Een oplossing
infinite :: t -> ([t]->t) -> [t] infinite b f = b:(infinite2 [b] f) where infinite2 voorstuk f = let res = f voorstuk in res:(infinite2 (voorstuk ++ [res]) f)
De clou is het begin van de rij bijhouden in een parameter.
M'n inspiratie kwam uit de Fibonacci-rij op p.26
Alternatief
infinite::t->([t]->t)->[t] infinite x f = x:inf [x] f where inf r f = f r : inf ((f r):r) f