F#将四重管道连接到一个功能

Pau*_*icz 4 f#

一个元组用管道输送:

let a = (1,2)
let f a b = ()
a ||> f
Run Code Online (Sandbox Code Playgroud)

一个三联管道:

let a = (1,2,3)
let f a b c = ()
a |||> f
Run Code Online (Sandbox Code Playgroud)

但这不适用于四重奏:

let a = (1,2,3,4)
let f a b c d= ()
a ||||> f
Run Code Online (Sandbox Code Playgroud)

你如何管理四重功能?

yam*_*men 11

其他的由F#定义,对于你需要自己定义的4元组:

let a = (1,2,3,4)
let f a b c d = printfn "got %A %A %A %A" a b c d

let inline (||||>) (a,b,c,d) f = f a b c d

a ||||> f
Run Code Online (Sandbox Code Playgroud)