是否有F#运算符来表达此功能?

时间:2016-01-19 16:39:23

标签: f# operators

我有以下代码:

let funcsAppliedToData data = funcs |> Seq.map (fun f -> f data)

是否有操作员表达括号中定义的功能(或者是整篇文章的整体编写方式)?

1 个答案:

答案 0 :(得分:4)

您可以使用|>运算符的部分函数应用程序重写此值。你有这个功能:

 (fun f -> f data)

也可以使用管道运算符编写:

 (fun f -> data |> f)

您可以将操作符视为函数:

 (fun f -> (|>) data f)

现在你可以使用部分功能应用程序:

 ((|>) data)

这回答了你的问题,但我不认为我会在实践中使用它。明确地编写函数可能会延长几个字符,但我发现它更具可读性。管道操作员通常不会以上述方式使用,因此阅读代码的任何人基本上都必须扭转我在此描述的过程,以了解正在进行的操作。