我正在尝试学习 F#,但我已经到了不明白自己做错了什么的地步。我写了以下代码:
let p = 0.2::0.2::0.2::0.2::0.2::[]
let world = "g"::"r"::"r"::"g"::"g"::[]
let measurements = "r"::"g"::[]
let pHit = 0.6
let pMiss = 0.2
let rec sense world probs measurement =
match world, probs with
| measurement::row, p::rop -> (p*pHit)::sense row rop measurement
| _::row, p::rop -> (p*pMiss)::sense row rop measurement
| [],_ -> []
| _,[] -> []
我遇到的问题是编译器告诉我匹配表达式的第二条规则永远不会匹配。我想用第二条规则表达的是,当“世界”列表的头部与度量不同时,我们将在示例中进行如下计算。
有人可以给我一个提示吗?