Я новичок в F # и задаю вопрос о конвейерах функций. Скажем, у нас есть функция map
, которая отображает список функций на массив значений, создающих список массивов: примерF # Изменение параметров приоритета
//val map : ('a -> 'b) list -> 'a [] -> 'b [] list
let map funcs vals =
funcs |> List.map (fun f -> Array.map f vals)
Использование:
//val it : float [] list = [[|1.0; 1.144729886|]; [|15.15426224; 23.14069263|]]
map [log; exp] [|Math.E; Math.PI|]
Есть ли способ заменить лямбда-функции (fun f -> Array.map f vals)
с сеть операторов трубопроводов?
Я хотел бы написать, как л:
//val map : 'a [] list -> ('a -> 'b) -> 'b [] list
let map funcs vals = funcs |> List.map (vals |> Array.map)
Но это не работает.
Большое спасибо,
Иван
Спасибо за ответ! Возможно, это затрудняет чтение кода. –