这是我正在研究的例子:
let test =
[("Andy", ["d"; "a"; "d"; "c"; "b"; "d"; "c"; "a"; "a"; "c"; "a"; "d"; "a"; "a"; "d"; "e"]);
("Harry", ["b"; "d"; "c"; "b"; "c"; "b"; "a"; "a"; "d"; "b"; "d"; "d"; "a"; "c"; "b"; "e"]);
let answers = ["b"; "a"; "a"; "c"; "d"; "d"; "c"; "a"; "a"; "d"; "a"; "d"; "a"; "a"; "d"; "e"]);
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用list.map来比较每个人的测试,并确定他们得到了多少答案.任何帮助,将不胜感激.
我会创建一个函数来计算答案列表和正确答案的分数,然后将其应用于列表中的每个元组:
let getScore ans correct = List.map2 (=) ans correct |> List.filter id |> List.length
let getCorrect l = l |> List.map (fun (name, ans) -> (name, getScore ans answers))
Run Code Online (Sandbox Code Playgroud)