Guinea Pig", "Mouse", "Monkey", "Fish", "Dog", "cat", "chicken"] println(buildIndexOf(words)) 尾递归 Tail-Recursion
f2(114) 对应的vlog: [TRACE 1 t1.lua:19 loop] [TRACE 2 t1.lua:3 up-recursion] [TRACE 3 t1.lua:11 tail-recursion 再来看看前面例子中的vlog: [TRACE 1 t1.lua:19 loop] [TRACE 2 t1.lua:3 up-recursion] [TRACE 3 t1.lua:11 tail-recursion ] 这里,每个trace的最后(loop,up-recursion和tail-recursion)部分,表示trace的连接(link),成功生成trace后,紧接着(的BC)就是该trace的运行, NE 0014 +0 0016 + num SUB 0014 +1 0017 num PHI 0009 0016 ---- TRACE 1 stop -> tail-recursion
To transform the implementation into tail-recursion, you perform your calculations first, and then you
条件类型的尾递归省略 Tail-Recursion Elimination on Conditional Types 我们使用 TS 类型别名时,常常会遇到需要循环引用类型别名自身的情况,TS 编译器会检测到可能存在的无限嵌套情况并给出警告
tuple | 元组 | | | | type constructor | 类构造器 | | | | type synonym | 类型别名 | | | | top-level | 顶层 | | | | tail-recursion
| 元组 | | | | type constructor | 类构造器 | | | | type synonym | 类型别名 | | | | top-level | 顶层 | | | | tail-recursion