4

タプルは次の方法でパイプされます。

let a = (1,2)
let f a b = ()
a ||> f

トリプルは次の方法でパイプされます。

let a = (1,2,3)
let f a b c = ()
a |||> f

しかし、これは4人では機能しません。

let a = (1,2,3,4)
let f a b c d= ()
a ||||> f

4つを関数にどのようにパイプしますか?

4

2 に答える 2

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
于 2012-04-11T21:32:01.863 に答える
4

あなたはそれを退屈な方法で行うことができます、または...

let a = (1,2,3,4)
let f a b c d = ()
let g = OptimizedClosures.FSharpFunc<_,_,_,_,_>.Adapt(f)
a |> g.Invoke
于 2012-04-11T21:44:15.957 に答える