锁定。这个问题及其答案是locked因为这个问题是题外话,但具有历史意义。它目前不接受新的答案或交互。
这是类似 C# 的大胆尝试问题。
那么您最喜欢的 F# 隐藏(或不隐藏)功能是什么?
到目前为止,我使用的大多数功能都没有完全隐藏,但非常令人耳目一新。与 C# 或 VB.NET 相比,重载运算符是多么微不足道。
和Async<T>
帮助我剃掉了一些真正丑陋的代码。
我对这门语言还是很陌生,所以很高兴了解野外使用的其他功能。
最佳答案
用户定义的数字文字可以通过提供一个名称以 NumericLiteral
开头的模块来定义。并定义了某些方法( FromZero
、 FromOne
等)。
特别是,您可以使用它为调用 LanguagePrimitives.GenericZero
提供更易读的语法。和 LanguagePrimitives.GenericOne
:
module NumericLiteralG = begin
let inline FromZero() = LanguagePrimitives.GenericZero
let inline FromOne() = LanguagePrimitives.GenericOne
end
let inline genericFactorial n =
let rec fact n = if (n = 0G) then 1G else n * (fact (n - 1G))
fact n
let flt = genericFactorial 30.
let bigI = genericFactorial 30I
关于f# - F#的隐藏特性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/181613/