
什么事ML函数??具体模式和使用时什么样子的 5
1个回答
展开全部
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。其他情况下将会尝试第二行。这一个递归,将会再一次调用函数直到满足基准条件。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?

2018-06-11 广告
Duolink PLA技术可通过同一个实验即可完成对蛋白质互作及其修饰的检测、定量以及确定细胞定位等。Duolink基于原位PLA技术(即邻位连接分析技术),可以帮助您在内源蛋白质表达过程中进行该分析。...
点击进入详情页
本回答由Sigma-Aldrich提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询