【问题标题】:Function Application Operator ($) in F#?F# 中的函数应用运算符 ($)?
【发布时间】:2011-08-25 00:38:37
【问题描述】:

假设我有这个代码

let identifier = spaces_surrounded (many1Satisfy isLetter)

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

let identifier = spaces_surrounded $ many1Satisfy isLetter

也就是诸如

之类的东西
let ($) f1 f2 = f1 (f2)

(也就是说,如果我没记错的话,我的 Haskell 技能并不是太高明..)。

【问题讨论】:

    标签: .net f# functional-programming


    【解决方案1】:

    标准的 F# 习惯用法是正向管道运算符 |> 如果你会重写

    let identifier = spaces_surrounded (many1Satisfy isLetter)
    

    作为

    let identifier = many1Satisfy isLetter |> spaces_surrounded 
    

    如果你想保持原来的顺序,你也可以使用后向管道运算符<|,但这往往不太常见

    let identifier = spaces_surrounded <| many1Satisfy isLetter
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-17
    • 2020-11-10
    • 2010-10-27
    • 1970-01-01
    • 2021-11-26
    • 1970-01-01
    • 2017-03-24
    • 2011-02-18
    相关资源
    最近更新 更多