パラメータをラインにパイプすることは、1 つのパラメータを受け入れる関数に対してのみ機能しますか? Chris Smiths のページの例を見ると、
// Using the Pipe-Forward operator (|>)
let photosInMB_pipeforward =
@"C:\Users\chrsmith\Pictures\"
|> filesUnderFolder
|> Seq.map fileInfo
|> Seq.map fileSize
|> Seq.fold (+) 0L
|> bytesToMB
彼の filesUnderFolder 関数は rootFolder パラメーターのみを予期していましたが、関数が 2 つのパラメーターを予期していた場合、つまり
let filesUnderFolder size rootFolder
次に、これは機能しません:
// Using the Pipe-Forward operator (|>)
let size= 4
let photosInMB_pipeforward =
@"C:\Users\chrsmith\Pictures\"
|> filesUnderFolder size
|> Seq.map fileInfo
|> Seq.map fileSize
|> Seq.fold (+) 0L
|> bytesToMB
定義できるので
let inline (>>) f g x y = g(f x y)
、複数の入力パラメーターを持つ関数でパイプライン演算子を使用できるはずですよね?私は何が欠けていますか?