introducing `@self`

例如

func fib (n : int ) {
    match n {
    | 0 | 1 => 1 
   | _ => @self(n - 1) + @self(n-2)
    }
}

主要动机是一般递归函数,里面的名字是没有什么意义的,我们search fib主要在意的是外面的使用情况

self 这个命名比较含糊. 在一个普通函数里面 self 是 函数, 在 一个成员函数里面 self 是这个对象还是函数就不够直观了.

1 个赞