我正在阅读有关 F# 的教科书,并在介绍了阶乘函数之后
let rec fact = function | 0 -> 1 | n-> n * fact(n-1);;
作者还指出,对包含的表达式的评估fact
可能不会终止并在脚注中添加
请注意,像
fact
n这样的文本不是F # 的一部分。这是一种模式,可以通过将元符号 n替换为合适的 F# 实体来获得程序片段。
这已经超出了我的想象!尽管我对它的fact
工作方式以及其他语言的递归感到满意,但我看不出作者在这里试图做出的区分。欢迎任何解释。