haskell从数据构造函数中提取值

时间:2018-04-09 12:37:28

标签: haskell

我想知道调整单个存储值的最简单方法,同时挂起预先存在的其他值。我可以直接访问Size的值,同时执行Color的预先存在的值吗?

data Example = Color Size
  deriving (Show)

data Color = C Red Green Blue
  deriving (Show)

data Size = S Small Medium Large
  deriving (Show)

useExample :: Example -> String -> Example
useExample e s = 
  case s of
    "S" -> e.Color Small
    "M" -> e.Color Medium
    "L" -> e.Color Large

假设我有一个包含大量字段的类型,以及此类型的值。是否可以使用除一个字段之外的所有字段创建此类型的另一个值,而无需写出所有字段。

当需要考虑很多场景时,这变得至关重要,我正在开发的项目比这个例子中的项目多得多。

0 个答案:

没有答案