[ Perl 6 ] Haskell式的Fibonacci函数定义
There is more than one way to do it.
- 在Perl 6中,总有超过一种方法来达到目的。例如我们可以使用函数重载功能,写出Haskell式的Fibonacci函数定义
-- Haskell ver.
fib 0 = 1
fib 1 = 1
fib n = fib (n-1) + fib (n-2)
# Perl 6 ver.
multi fib (0) { 1 }
multi fib (1) { 1 }
multi fib(Int $n where $n > 1) {
(fib $n-1) + (fib $n-2)
}