F#示例 - 为什么它可以工作

ghe*_*ist 1 f# fibonacci

英语维基百科上,F#中有一个代码示例

/// Fibonacci Number formula
let rec fib n =
    match n with
    | 0 | 1 -> n
    | _ -> fib (n - 1) + fib (n - 2)
Run Code Online (Sandbox Code Playgroud)

为什么这个例子适用于fib(1)?

VB_*_*low 7

该守则的规定,如果n是" 01",那么结果是n(这是部分:0|1 -> n)

否则它将是: fib (n - 1) + fib (n - 2)

因此fib(1),n=1结果是1,没有递归.