gpt4 book ai didi

f# - single 和 double 不能用度量增加

转载 作者:行者123 更新时间:2023-12-04 23:25:19 25 4
gpt4 key购买 nike

有谁知道为什么 [< Measure>] 类型只增加一些代数类型?
这么多有用的类型不能用 Measure 来扩充对我来说看起来很奇怪。

type FooType =
| FooByte of byte<1> // Error
| FooSbyte of sbyte<1> // Ok
| FooInt16 of int16<1> // Ok
| FooUint16 of uint16<1> // Error
| FooInt of int<1> // Ok
| FooInt32 of uint32<1> // Error
| FooInt64 of int64<1> // Ok
| FooUint64 of uint64<1> // Error
| FooNativeint of nativeint<1> // Error
| FooUnativeint of unativeint<1> // Error
| FooChar of char<1> // Error
| FooDecimal of decimal<1> // Ok
| FooFloat32 of float32<1> // Ok
| FooSingle of single<1> // Error
| FooFLoat of float<1> // Ok
| FooDouble of double<1> // Error

最佳答案

好吧,这里有两个不同的问题:

  • 似乎无符号类型无法通过设计进行注释。我不知道为什么会这样,但是如果您尝试类似 let _ = 1u<1> 之类的操作,您可以获得有关此效果的非常有用的错误消息。 .
  • 由于类型同义词的工作方式,您只能将度量与“真实”类型一起使用,而不能与它们的同义词一起使用。这就是为什么您可以通过 float32 使用度量的原因。和 float ,但不是 singledouble .请注意,int32 也是如此。 , 也。
  • 关于f# - single 和 double 不能用度量增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14130080/

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