相关疑难解决方法(0)

记录访问者的语法默认值

在我刚刚写完答案的时候,我遇到了一个有趣的问题:

data Gender = Male | Female
            deriving (Eq, Show)

data Age = Baby | Child | PreTeen | Adult
         deriving (Eq, Show, Ord)

data Clothing = Pants Gender Age
              | Shirt Gender Age
              | Skirt Age         -- assumed to be Female
              deriving (Show, Eq)
Run Code Online (Sandbox Code Playgroud)

假设我希望用记录语法编写最终数据类型:

data Clothing = Pants {gender :: Gender, age :: Age}
              | Shirt {gender :: Gender, age :: Age}
              | Skirt {age :: Age}
              deriving (Show, Eq)
Run Code Online (Sandbox Code Playgroud)

问题是,我想gender $ Skirt foo总是评价 …

haskell record default-value

9
推荐指数
1
解决办法
650
查看次数

标签 统计

default-value ×1

haskell ×1

record ×1