【发布时间】:2025-11-25 13:55:02
【问题描述】:
为什么不编译记录属性的模式匹配?
type Cell = { X:int; Y:int }
let isNeighbor cell1 cell2 =
match cell1.X, cell2.X with
| cell1, cell2 when cell1.X <> cell2.X
|| cell1.Y <> cell2.Y -> let xAligned = IsValueNeighbor cell1.X cell2.X
let yAligned = IsValueNeighbor cell1.Y cell2.Y
xAligned && yAligned
| _ -> false
错误:
“int”类型与“Cell”类型不兼容
以下表达式似乎有问题:
cell1.X <> cell2.X
|| cell1.Y <> cell2.Y
【问题讨论】:
标签: f# pattern-matching