gpt4 book ai didi

f# - 最好 |> 忽略或返回 ()

转载 作者:行者123 更新时间:2023-12-02 11:25:24 28 4
gpt4 key购买 nike

所以这只是一个好奇的问题。

如果我想退回单位,哪个更好?

|> ignore

或者
()

应该还有其他方法。考虑到这些,我只想知道什么是最好的:
  • 什么是性能最高的
  • 生产环境的最佳实践是什么
  • 什么是长期维护最易读的
  • 最佳答案

    我认为您正在比较这里不太可比的东西。 () value 允许您创建单位值,而 |> ignore是您可以用来忽略其他结果的方法。两者并不完全相同:

    如果你正在调用一个函数并且你想忽略结果,你可以只写:

    doStuff () |> ignore

    但是对 () 做同样的事情将要求您忽略警告:
    doStuff () // warning: Result is ignored
    ()

    ...或者您可以将结果分配给忽略模式 _使用 let捆绑:
    let _ = doStuff ()
    ()

    因此,在这种情况下,使用 ignore更好 - 它是内联的,因此它不会影响性能,并且它会导致代码更易于阅读。

    也就是说,在某些情况下,您只需要创建一个单位值,然后 ()是您需要的(并且没有明显的方法 ignore 会让您这样做)。例如:
    match optMessage with
    | Some message -> printfn "ANNOUNCEMENT: %s" message
    | None -> ()

    您可以替换 ()42 |> ignore得到相同的结果,但这将是愚蠢的!

    关于f# - 最好 |> 忽略或返回 (),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44393788/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com