四重項のリストと四重項 (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
問題: 呼び出されると、一致するクアッドに関係なく、元のリストが返されます。さらに、問題は、 行 ( warning )の x、y、rが使用されていないという警告を返すことです。