1
我想学习F#并且我已经到了一个地步,我不明白我做错了什么。我写了下面的代码: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
| [],_ -> []
| _,[] -> []
我的问题是,编译器告诉我,这场比赛表现的第二个规则将永远不会被匹配。 我试图用第二条规则来表达的是,当“世界”列表的头部与测量不同时,我们将在示例中进行如下计算。
任何人都可以给我这个提示吗?