From e96f969c72a7106993a9e51eb781570520e41404 Mon Sep 17 00:00:00 2001 From: 0riginaln0 <74508026+0riginaln0@users.noreply.github.com> Date: Sun, 14 Apr 2024 07:29:24 +0300 Subject: factorial(0) = 1 case added for tail_calls Executing a factorial from zero is expected to return one, not "RangeError: Maximum call stack size exceeded" --- src/content/chapter2_flow_control/lesson06_tail_calls/code.gleam | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/content/chapter2_flow_control/lesson06_tail_calls/code.gleam') diff --git a/src/content/chapter2_flow_control/lesson06_tail_calls/code.gleam b/src/content/chapter2_flow_control/lesson06_tail_calls/code.gleam index f029627..004793b 100644 --- a/src/content/chapter2_flow_control/lesson06_tail_calls/code.gleam +++ b/src/content/chapter2_flow_control/lesson06_tail_calls/code.gleam @@ -12,7 +12,7 @@ pub fn factorial(x: Int) -> Int { fn factorial_loop(x: Int, accumulator: Int) -> Int { case x { - 1 -> accumulator + 0 | 1 -> accumulator // The last thing this function does is call itself // In the previous lesson the last thing it did was multiply two ints -- cgit v1.2.3