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