F#中是否有任何语法可以简化按顺序排列的函数列表的流水线工作?例如,

    x |> fun1 |> fun2 |> fun3 ...

还是有没有设计图案使这项工作变得不必要?在我的情况下,我正在制作一个(朴素的)Sudoku求解器,并具有一个类似于以下内容的函数:
let reduceByRows poss =
    poss
    |> reduceBy (rowIndeces 1) |> reduceBy (rowIndeces 2) |> reduceBy (rowIndeces 3)
    |> reduceBy (rowIndeces 4) |> reduceBy (rowIndeces 5) |> reduceBy (rowIndeces 6)
    |> reduceBy (rowIndeces 7) |> reduceBy (rowIndeces 8) |> reduceBy (rowIndeces 9)

有什么办法可以清理这样的东西吗?

最佳答案

对我来说似乎是折纸。关于什么

let reduceByRows poss =
  Seq.fold (fun p i -> reduceBy (rowIndices i) p) poss {1..9}

10-08 12:40