OCaml is a fully recursive language. So using recursion is completely natural.
We will see in this example how to create an easy recursion of a classic factorial. This in two different manners.
These two ways of using recursion are strictely the same, the type of the function and the result as well of course.
# let rec factorial n = if n = 0 then 1 else n * factorial(n - 1);;
You can split it to have a better indentation:
# let rec factorial n = if n = 0 then 1 else n * factorial(n - 1);;
After clicking Enter, we will have:
val factorial : int -> int = <fun>
So let's use this function:
# factorial 5;; - : int = 120
# let rec factorial = function | 0 -> 1 | n -> n * factorial(n - 1);;
Or a really more clear way of displaying:
# let rec factorial = function | 0 -> 1 | n -> n * factorial(n - 1);;
After clicking Enter, we will have:
val factorial : int -> int = <fun>
So let's use this function:
# factorial 5;; - : int = 120
It was your first recursion! Good job!
Add new comment