相关疑难解决方法(0)

Haskell中的常量变量声明

要声明常量变量,我可以在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

2
推荐指数
2
解决办法
3743
查看次数

标签 统计

haskell ×1