我想在 Ocaml 中编写一个函数,给定一个四元组和一个四元组 (x,y,z,f),返回一个包含元组 (x',y',z',g) 的列表,使得 x = x' 或 y=y' 或 z = z' (这些是整数)。这是我的第一次尝试
let rec constrained_by c list =
match s with
| []-> []
| hd :: tl ->
begin
let Cell(x,y,r,_)= c in (*warning*)
begin
match hd with
| Cell(x,_,_,Some(_))-> hd::constrained_by c tl
| Cell(_, y, _,Some(_)) -> hd::constrained_by c tl
| Cell(_, _, r,Some(_)) -> hd::constrained_by c tl
| _ -> constrained_by c tl
end
end
问题:当它被调用时,无论我们匹配什么四元组,它都会返回原始列表。此外,问题是它返回警告,即行(警告)处的 x,y,r未使用。