diff options
Diffstat (limited to 'examples/fib.sloth')
| -rw-r--r-- | examples/fib.sloth | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/examples/fib.sloth b/examples/fib.sloth new file mode 100644 index 0000000..415de05 --- /dev/null +++ b/examples/fib.sloth @@ -0,0 +1,15 @@ +## Calculate a specific number in the fibonacci sequence +fn fib(n: i32) -> i32 { + match n { + 0 | 1 => n, + _ => fib(n - 1) + fib(n - 2), + } +} + +generator fn fib_sequence(range: Range<i32>) -> i32 { + for n in range { + yield fib(n); + } +} + +print(fib_sequence(0..20).join(", ")) |
