【发布时间】:2010-12-22 20:37:58
【问题描述】:
我正在学习在 F# 中处理列表和元组,但出现了一个问题。我有两个列表:一个名字和一个名字,年龄。
let namesToFind = [ "john", "andrea" ]
let namesAndAges = [ ("john", 10); ("andrea", 15) ]
我正在尝试创建一个函数,该函数将返回在给定 namesToFind 的 namesAndAges 中找到的第一个年龄。只是第一个。
到目前为止,我有以下代码返回整个元组(“john”,10)。
let findInList source target =
let itemFound = seq { for n in source do
yield target |> List.filter (fun (x,y) -> x = n) }
|> Seq.head
itemFound
我尝试在返回语句中使用 fst(),但它没有编译并给我“这个表达式应该有类型 'a * 'b 但这里有类型 ('c * 'd) 列表”
感谢您的帮助!
【问题讨论】: