【问题标题】:F# Update Variable in PipeF# 更新管道中的变量
【发布时间】:2020-04-13 09:01:21
【问题描述】:

是否可以更新管道执行流程的参数? addedBalance 函数是在账户上调用 updateBalance 和 getBalance 函数的函数。我无法更新这部分代码,它位于不同的模块中。

let account = mkBankAccount() |> openAccount
let openingBalance = account |> getBalance 

let addedBalance = 
    account 
    |> updateBalance 10.0m
    |> getBalance

如何更新帐户变量以确保更新后的余额安全? 我目前使用的方法不是永久更新余额:

let updateBalance change account = {balance = account.balance + change ; accStatus = account.accStatus}

感谢您的帮助!

【问题讨论】:

    标签: f# pipe


    【解决方案1】:

    您可以这样做,一种方法是添加帐户作为参数,以便

    let addedBalance acct = 
        acct 
        |> updateBalance 10.0m
        |> getBalance
    

    别忘了 F# 在默认情况下是不可变的,这可能意味着您需要改变对“更新帐户”的看法,实际上您将拥有一个 account 的新实例

    【讨论】:

    猜你喜欢
    • 2021-10-14
    • 2019-09-01
    • 2021-11-23
    • 2023-03-29
    • 2021-09-30
    • 1970-01-01
    • 1970-01-01
    • 2021-08-31
    • 1970-01-01
    相关资源
    最近更新 更多