定数変数を宣言するには、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
10forの整数値を取得するにColor.Redは、 と書かなければなりfromEnum Color.Redません。構文はあまりきれいではありません。