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,