管道参数是否仅适用于接受一个参数的函数?如果我们看一下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 参数,如果该函数需要两个参数怎么办,即
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)
,我认为我应该能够将管道运算符与具有多个输入参数的函数一起使用,对吧?我错过了什么?