gpt4 book ai didi

F# 位标志枚举

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

我想在 F# 中创建一个位标志枚举,使用位移运算符来提高可读性:例如

[<Flags>]
type DaysOfWeek =
| Monday = 1 <<< 0
| Tuesday = 1 <<< 1
| Wednesday = 1 <<< 2
| Thursday = 1 <<< 3
| Friday = 1 <<< 4
| Saturday = 1 <<< 5
| Sunday = 1 <<< 6

但是,F# 编译器不喜欢这样。它说“成员定义中出现意外的中缀运算符”。

我更喜欢这种方法而不是两个的手动权力。有没有办法说服编译器我不是邪恶的?

最佳答案

这不是您所要求的,但您可以使用 0b 编写二进制文件。前缀,例如:

[<Flags>]
type DaysOfWeek =
| Monday = 0b0000001
| Tuesday = 0b0000010
| Wednesday = 0b0000100
| Thursday = 0b0001000
| Friday = 0b0010000
| Saturday = 0b0100000
| Sunday = 0b1000000

关于F# 位标志枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39771463/

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