看到目前的枚举类型已经支持指定为数字了,比如
enum OpenFlag {
O_RDONLY = 0x00
O_WRONLY = 0x01
O_RDWR = 0x02
}
此时,这个OpenFlag如何跟UInt互转?总不能还需要我们自己给这个OpenFlag实现一个方法来获取吧,如果这样,这就太蠢了
看到目前的枚举类型已经支持指定为数字了,比如
enum OpenFlag {
O_RDONLY = 0x00
O_WRONLY = 0x01
O_RDWR = 0x02
}
此时,这个OpenFlag如何跟UInt互转?总不能还需要我们自己给这个OpenFlag实现一个方法来获取吧,如果这样,这就太蠢了
这个语法是为了支持绑定C FFI的,所以暂时没有在MoonBit中转换成UInt的方式。
如果只是想在MoonBit中定义枚举,推荐使用普通的enum + pattern match。如果你想在MoonBit中使用bit field,可以通过newtype包装一下uint,或者使用bit vector