要声明常量变量,我可以在Ruby中执行以下操作
class COLOR
RED = 10
BLUE = 20
GREEM = 30
end
Run Code Online (Sandbox Code Playgroud)
COLOR::RED返回10,COLOR::BLUE返回20等.我如何在Haskell中实现这一目标?
我想在我的变量名前面有一个命名空间名称.也许上面的例子不是一个好例子.对于下面的情况,您可以看到包含命名空间名称将使变量更容易理解.
class BASEBALL_TEAM
GIANTS = 15
METS = 30
REDS = 45
...
end
Run Code Online (Sandbox Code Playgroud)
BASEBALL_TEAM::GIANTS很清楚GIANTS.
基于下面的评论,似乎我能够完成它的唯一方法是做类似下面的事情:
module Color (Color) where
data Color = Red | Blue | Green deriving (Eq, Show, Ord, Bounded, Enum)
fromEnum' x = (fromEnum x) + 10
Run Code Online (Sandbox Code Playgroud)
得到10for的整数值Color.Red,我要写fromEnum Color.Red,语法不是很干净.
haskell ×1