什么事ML函数??具体模式和使用时什么样子的
答案:1 悬赏:0 手机版
解决时间 2021-03-31 14:50
- 提问者网友:沉默菋噵
- 2021-03-31 10:39
什么事ML函数??具体模式和使用时什么样子的
最佳答案
- 五星知识达人网友:怀裏藏嬌
- 2021-03-31 12:18
ML语言(函数式编程语言) 里的函数 叫 ML函数。
抄一段介绍给你:
函数式编程语言的"Hello World" 程序是阶乘函数。用纯ML表达就是:
fun fac : (fn: int -> int) 0 = 1
| fac n = n * fac (n-1);
阶乘在这里被描述成一个递归函数,它有一个终止条件。可以看出它和数学课本中对于阶乘的描述很相似。很多ML代码的语法类似数学。
递归函数第一行的一部分是可选的,描述了函数的类型。可以这么读:函数fac (fun fac) 是一个 (:) 由整数至整数的函数 (fn: int -> int)。也就是说,函数以一个整数作为参数,返回另一个整数。去掉非必要的类型声明后,这个函数如下:
fun fac 0 = 1
| fac n = n * fac(n-1);
这个函数也依赖模式匹配,ML编程的重要部分。 一个函数的参数不是在圆括号中而是由空格分开。当函数的参数值为0时返回整数1。其他情况下将会尝试第二行。这一个递归,将会再一次调用函数直到满足基准条件。
抄一段介绍给你:
函数式编程语言的"Hello World" 程序是阶乘函数。用纯ML表达就是:
fun fac : (fn: int -> int) 0 = 1
| fac n = n * fac (n-1);
阶乘在这里被描述成一个递归函数,它有一个终止条件。可以看出它和数学课本中对于阶乘的描述很相似。很多ML代码的语法类似数学。
递归函数第一行的一部分是可选的,描述了函数的类型。可以这么读:函数fac (fun fac) 是一个 (:) 由整数至整数的函数 (fn: int -> int)。也就是说,函数以一个整数作为参数,返回另一个整数。去掉非必要的类型声明后,这个函数如下:
fun fac 0 = 1
| fac n = n * fac(n-1);
这个函数也依赖模式匹配,ML编程的重要部分。 一个函数的参数不是在圆括号中而是由空格分开。当函数的参数值为0时返回整数1。其他情况下将会尝试第二行。这一个递归,将会再一次调用函数直到满足基准条件。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯