F# 为什么源按seq作为最后一个参数

F# 为什么源按seq作为最后一个参数,f#,F#,当我在f#中查看seq type时,最后一个参数总是源代码类型 Seq.pick chooser source Seq.concat sources 为什么??这是因为currying吗?将源作为最后一个参数允许部分应用和使用如下Piping: let source = seq { 1..2 } let chooser x = Some x let result = source |> Seq.pick chooser let source = seq { 1..2 } let cho

当我在f#中查看seq type时,最后一个参数总是源代码类型

Seq.pick chooser source
Seq.concat sources

为什么??这是因为currying吗?

将源作为最后一个参数允许部分应用和使用如下Piping:

let source = seq { 1..2 }
let chooser x = Some x
let result = source |> Seq.pick chooser
let source = seq { 1..2 }
let chooser x = Some x
let result = source 
             |> Seq.map (fun x -> x*x )
             |> Seq.pick chooser
如果您打算通过以下一系列操作对序列进行管道化处理,这一点尤其有用:

let source = seq { 1..2 }
let chooser x = Some x
let result = source |> Seq.pick chooser
let source = seq { 1..2 }
let chooser x = Some x
let result = source 
             |> Seq.map (fun x -> x*x )
             |> Seq.pick chooser

将源作为最后一个参数允许部分应用和如下所示的pipping使用:

let source = seq { 1..2 }
let chooser x = Some x
let result = source |> Seq.pick chooser
let source = seq { 1..2 }
let chooser x = Some x
let result = source 
             |> Seq.map (fun x -> x*x )
             |> Seq.pick chooser
如果您打算通过以下一系列操作对序列进行管道化处理,这一点尤其有用:

let source = seq { 1..2 }
let chooser x = Some x
let result = source |> Seq.pick chooser
let source = seq { 1..2 }
let chooser x = Some x
let result = source 
             |> Seq.map (fun x -> x*x )
             |> Seq.pick chooser

是的,对函数参数进行排序以使部分应用程序更有用是很常见的。是的,对函数参数进行排序以使部分应用程序更有用是很常见的。