fun make_alt_record (stringlists, {x, y, z}) =
case generate_alts (stringlists, x) of
[] => {x, y, z}
| alt::stringlists' => {name, y, z}
generate_alts消耗一个字符串列表和一个字符串,并产生一个字符串列表。 mak
我试图找到列表的模式,并返回该模式的元组以及它在列表中出现的次数。 我这有一个地步,我可以返回每个数字和之后发生的次数的列表,但它也给我出现过第一, fun counter(_, nil) = 0
| counter(a, x::xs) = if a = x then 1+counter(a, xs)
else counter(a, xs);
fun countList
我在一个大难题是,需要写在ML以下代码: val x = 1
fun f(y) = x + y
val x = 2
val y = 3
val z = f (x + y)
Z值是6。现在,如果我用Python语言编写相同的代码值的z应为7.并且两种语言都声称(实际上教授这些语言的老师声称这样)具有词法/静态范围。但它看起来像只有ML通过使用f函数时定义的函数被创建时创建的环境来调用 任
的练习是代码ML的函数删除从二叉搜索树的元素。 下面的代码: datatype 'a tree = Lf | Br of 'a * 'a tree * 'a tree;
fun deleteTop (Br(_, Lf, t2)) = t2
| deleteTop (Br(_, t1, Lf)) = t1
| deleteTop (Br(_, Br(v, u1, u2), t
我想定义一个函数,它接受一个整数n并返回一个整数n *,使得n和n *在1到n的整数集中,并且函数必须是双射的。 我尝试以下 fun bij(n) =
let
val ls = zip(upto (1, n), List.rev(upto (1, n)))
val Tw_2 = fn(a, b) => b
in Tw_2(List.last(ls,