Your functions may make calls to other functions, and they may also make calls to themselves. The process of a function calling itself is recursion. This circular definition usually leads to elegant algorithms. The problem is broken down into a small task that's repeated many times.

Recursive definitions are common in mathematics. Consider this definition of an integer: the sum or difference between one and any other integer, with one being an integer. Is three an integer? Yes, because one plus one must be an integer, which is two. And the sum of one and two must also be an integer.

Recursion is a difficult concept to understand, but it usually leads to clearcode. Take a look at Listing 4.7. The function `checkInteger` takes a number ...

Start Free Trial

No credit card required