Exploring recursion
A recursive function is a function that calls itself. Like the iteration loop, for instance, the while
and for
loop--it is used to solve a complicated task one piece at a time and combine the results. However, there is a difference between the for
loop and while
loop. The iteration will keep repeating until the task is done, while the recursion will break the task up into smaller pieces in order to solve the larger problem and then combine the result. In the functional approach, the recursion is closer to the mathematical approach since it is often shorter than iteration, although it's somehow more difficult to design and test.
In Chapter 1, Tasting Functional Style in C#, we were acquainted with recursive functions, when we discussed the concepts of functional programming. There, we analyzed the factorial function named GetFactorial()
in the imperative and functional approach. To refresh our memory, following is the GetFactorial()
function implementation, which we can...