7 Stimmen

Warum heißt das Rekursionsidiom in Haskell "'n+1' und 'n'" und nicht "'n' und 'n-1'"?

Ich arbeite mich gerade durch das Haskell-Buch von Graham Hutton, und in seinem Kapitel über Rekursion findet man oft Pattern-Matches auf "n+1", wie in:

myReplicate1 0 _ = []
myReplicate1 (n+1) x = x : myReplicate1 n x

Warum das und nicht das Folgende, das (1) funktional identisch zu sein scheint und (2) intuitiver zu verstehen scheint, was mit der Rekursion passiert:

myReplicate2 0 _ = []
myReplicate2 n x = x : myReplicate2 (n-1) x

Gibt es etwas, das ich übersehen habe? Oder ist es nur eine Frage des Stils?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X