是否存在 1 <= x <= 255 范围内的 Int 类型?

F. *_*Zer 0 haskell

我想创建以下声明:

data Color = B | W deriving Read

type Cell = (Color, Int) where 1 <= Int <= 255
Run Code Online (Sandbox Code Playgroud)

这个问题有什么解决办法吗?该类型实际上接受任何类型,Int但超出该范围的类型不应编译。

Ben*_*Ben 7

不完全是,但如果你有的话import Data.Word,就有这样的类型Word8

这是一个“8位无符号整数类型”,因此它的值范围是0-255,而不是您希望的1-255。

如果这不适合您,那么他们的评论中提到的 Noughtmare 问题的答案中的技术是需要考虑的额外事项。