我有一个简单的函数,列出给定输入数的每个素数因子.它由以下组成:
let rec f n x a =
if x = n then
x::a
elif n % x = 0 then
f (n/x) x (x::a)
else
f n (x+1) a
let fact n = f n 2 []
fact 315
val factors : int list = [7; 5; 3; 3]
Run Code Online (Sandbox Code Playgroud)
它的工作原理,但我想提出的是一个单一的功能:我如何定义fact与f直接嵌套在?我试图应用这里出色表达的概念,但我没有抽象如何f在一个参数one(fact)中嵌套三个参数function ().
fact到新行.确保它缩进.fact和刚刚移动的函数体之间添加一个空行.fun,并将其粘贴到您在第二步中创建的空白行中.fact.| 归档时间: |
|
| 查看次数: |
537 次 |
| 最近记录: |