Я работаю свой путь через Haskell книгу Грэма Хаттона, и в его рекуррентной главе, он часто модельные матчи на «п + 1», как в:Почему рекурсивная идиома в Haskell «n + 1» и «n», а не «n» и «n-1»?
myReplicate1 0 _ = []
myReplicate1 (n+1) x = x : myReplicate1 n x
Почему это и не следующее, которые (1), кажется, функционально идентичны и (2) более интуитивным с точки зрения понимания того, что происходит с рекурсией:
myReplicate2 0 _ = []
myReplicate2 n x = x : myReplicate2 (n-1) x
есть ли что-то я здесь отсутствует? Или это просто вопрос стиля?
Другими словами, это вопрос стиля, и первый стиль устарел.:) –
Yup, только что отредактировал его в :) – LukeN
Они на самом деле не такие. Модели n + k не будут соответствовать отрицательным числам. – sepp2k