diff options
Diffstat (limited to 'src/content/chapter2_flow_control/lesson05_recursion/code.gleam')
-rw-r--r-- | src/content/chapter2_flow_control/lesson05_recursion/code.gleam | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/content/chapter2_flow_control/lesson05_recursion/code.gleam b/src/content/chapter2_flow_control/lesson05_recursion/code.gleam new file mode 100644 index 0000000..ee93a6f --- /dev/null +++ b/src/content/chapter2_flow_control/lesson05_recursion/code.gleam @@ -0,0 +1,17 @@ +import gleam/io + +pub fn main() { + io.debug(factorial(5)) + io.debug(factorial(7)) +} + +// A recursive functions that calculates factorial +pub fn factorial(x: Int) -> Int { + case x { + // Base case + 1 -> 1 + + // Recursive case + _ -> x * factorial(x - 1) + } +} |