dev*_*ium 12 .net f# functional-programming
假设我有这个代码
let identifier = spaces_surrounded (many1Satisfy isLetter)
Run Code Online (Sandbox Code Playgroud)
我想知道是否有任何原生的F#函数允许我重构它
let identifier = spaces_surrounded $ many1Satisfy isLetter
Run Code Online (Sandbox Code Playgroud)
就是这样的东西
let ($) f1 f2 = f1 (f2)
Run Code Online (Sandbox Code Playgroud)
(如果我没弄错的话,我的Haskell技能不会太尖锐......).
Joh*_*mer 18
标准的F#习惯用法就是|>你要重写的正向管道运算符
let identifier = spaces_surrounded (many1Satisfy isLetter)
Run Code Online (Sandbox Code Playgroud)
如
let identifier = many1Satisfy isLetter |> spaces_surrounded
Run Code Online (Sandbox Code Playgroud)
<|如果要保持原始顺序,也可以使用反向管道运算符,但这种情况往往不太常见
let identifier = spaces_surrounded <| many1Satisfy isLetter
Run Code Online (Sandbox Code Playgroud)