【发布时间】:2019-03-07 23:59:37
【问题描述】:
以下函数接受一个列表、一个元组 (a, b),其中 'a' 是一个浮点元组和一个要测试的查询。
checkDist 是一个函数,它接受两个浮点数元组并返回所有点之间的距离。
现在,我的问题是我遇到了类型不匹配错误并且无法弄清楚原因。似乎将 infer 'a' 输入为单个浮点数,而不是 float * float。
let intoTp lst (a, b) qry =
let rec intoTpLoop lst prevMax =
match lst with
| [] -> []
| (feat, value) :: t ->
let curr = checkDist feat qry // current max
let prev = checkDist prevMax qry // prev max
// Check to replace top
if prev < curr then
let nextMax = (feat, value)
prevMax :: intoTpLoop t nextMax
else
(feat, value) :: intoTpLoop t prevMax
intoTpLoop lst (a, b)
谢谢,
【问题讨论】:
标签: f#