有人告诉我,第一段代码在性能方面比第二段差。
但是,老实说,如果最终拨打相同的电话,我真的无法弄清楚它们有何不同。我错过了什么吗?
第一个显式调用示例:
#let rec max l =
match l with
x::[]->x
| x::xs -> if(x > max xs)
then x else max xs;;
第二个使用变量的例子:
#let rec max l =
match l with
x::[]->x
| x::xs -> let m = max xs
in
if (x>m) then x else m;;