5
我是F#的新手,並且寫了一些簡單的算法來習慣這種語言,它需要argMax
。標準庫是否具有用於搜索最大化函數的列表元素的功能?也就是說,如果有一個現有的功能,其行爲像這樣的:F#庫是否有`argMax`的標準函數?
let argMax f xs =
let rec go a fa zs =
match zs with
| [] -> a
| z :: zs' ->
let fz = f z
if fz > fa
then go z fz zs'
else go a fa zs'
match xs with
| [] -> invalidArg "xs" "empty"
| x :: xs' -> go x (f x) xs'