定数変数を宣言するには、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
ません。構文はあまりきれいではありません。