我正在尝试实现一个函数,以添加类似于元组排序列表的术语(第一个数字表示多项式的常数,第二个数字表示幂)。我是ocaml新手,真的不知道自己在做什么错或如何正确执行此操作。
我尝试编写它,但是没有用 https://gyazo.com/d37bb66d0e6813537c34225b6d4048d0
let rec simp list =
match list with
| (a,b)::(c,d)::remainder where b == d -> (a+c,b)::simp(remainder)
| (a,b)::(c,d)::remainder where b != d -> (a,b)::(c,d)::simp(remainder)
| _ -> list;;
这应该将所有术语与相同的第二个值组合在一起,并只返回一个元组,并将其第一个值添加到新列表中。即:[(3,2);(4,2)]-> [(7,2)]。
答案 0 :(得分:0)
我对where
关键字不熟悉-有ocaml-where提供了关键字,但它似乎做的与您期望的有所不同。因此,语法是错误的,where
是意外的。
您的意思可能是when
,而不是where
。