gpt4 book ai didi

f# - 我可以在 .NET (F#) 上创建自己的文字类型吗?

转载 作者:行者123 更新时间:2023-12-01 08:17:48 25 4
gpt4 key购买 nike

例如,如果我想要 Nullable(x) 的文字类型,例如

let x = 6x // nullable literal type 

那么创建自己的文字类型是真的吗?

最佳答案

是的你可以

F# 规范:

带有后缀 Q、R、Z、I、N、G 的整数文字通过以下句法翻译用于用户定义和库定义的类型:
xxxx<后缀>

  • 对于 xxxx = 0 - NumericLiteral.FromZero()
  • 对于 xxxx = 1 - NumericLiteral.FromOne()
  • 对于 Int32 范围内的 xxxx - NumericLiteral.FromInt32(xxxx)
  • 对于 Int64 范围内的 xxxx - NumericLiteral.FromInt64(xxxx)
  • 对于其他数字 - NumericLiteral.FromString("xxxx")

  • 例如,如下定义一个模块 NumericLiteralZ 允许使用文字形式 32Z 来生成 32 个“Z”字符的序列。没有文字语法可用于 32 位整数范围之外的数字。
    module NumericLiteralZ =
    let FromZero() = ""
    let FromOne() = "Z"
    let FromInt32 n = String.replicate n "Z"

    // nullables
    open System
    module NumericLiteralN =
    let FromZero() = Nullable(0)
    let FromOne() = Nullable(1)
    let FromInt32(i : int) = Nullable(i)

    printfn "%A" 0N
    printfn "%A" 1N
    printfn "%A" 100N.HasValue

    关于f# - 我可以在 .NET (F#) 上创建自己的文字类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6015255/

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