元组由以下方式管道传输:
let a = (1,2)
let f a b = ()
a ||> f
三元组由以下方式管道传输:
let a = (1,2,3)
let f a b c = ()
a |||> f
但这不适用于四倍:
let a = (1,2,3,4)
let f a b c d= ()
a ||||> f
如何将四元组管道连接到函数?
其他由 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
你可以
用无聊的方式做,或者...
let a = (1,2,3,4)
let f a b c d = ()
let g = OptimizedClosures.FSharpFunc<_,_,_,_,_>.Adapt(f)
a |> g.Invoke