假设我有这段代码

let identifier = spaces_surrounded (many1Satisfy isLetter)


我想知道是否有任何本地F#函数允许我将其重构为

let identifier = spaces_surrounded $ many1Satisfy isLetter


也就是说,诸如

let ($) f1 f2 = f1 (f2)


(也就是说,如果我没记错的话,我的Haskell技能不会太敏锐。。)。

最佳答案

用于此操作的标准F#习惯用法是要重写的前向管道运算符|>

let identifier = spaces_surrounded (many1Satisfy isLetter)




let identifier = many1Satisfy isLetter |> spaces_surrounded


如果您想保持原始顺序,也可以使用后向管道运算符<|,但是这种情况不太常见

let identifier = spaces_surrounded <| many1Satisfy isLetter

关于.net - F#中的函数应用运算符($)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7183903/

10-09 02:50