gpt4 book ai didi

f# - 为什么 F# 警告我忽略结果

转载 作者:行者123 更新时间:2023-12-04 22:04:24 32 4
gpt4 key购买 nike

我正在使用 F#,如果我不使用某些结果( same problem described here ),编译器会警告我。由于 F# 甚至具有“忽略”功能,因此它似乎有些重要,但我真的不明白为什么 - 为什么 C# 不关心它,但 F# 呢?

最佳答案

C# 和 F# 之间的一个根本区别在于 F# everything is an expression(而不是表达式和​​语句的混合)。这包括 C 风格语言中的语句,比如控制流结构。

当以函数方式编程时,您希望拥有可以组合在一起的小块引用透明代码。事实上,一切都是一种表达方式。

另一方面,当你做了一些给你带来值(value)的事情,而你只是把它留在那里,你就违背了这种心态。您要么是为了某些副作用而这样做,要么只是在某处留下了一段遗留代码。在任何一种情况下,警告你你正在做一些非典型的事情都是公平的。

F# 不鼓励但不禁止副作用,并允许您在序列中执行(潜在的副作用)表达式,只要中间表达式的类型为 unit 。这就是 ignore 所做的 - 接受一个参数并返回 unit

关于f# - 为什么 F# 警告我忽略结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28053853/

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