Haskell数据类型模式匹配

时间:2010-11-09 08:26:35

标签: haskell pattern-matching

让我们说你有

data SS=
SSliteral Value

data Value=
SSint Int

现在假设您n的类型为SS。您希望获得Int的{​​{1}}值,您将如何进行此操作?

2 个答案:

答案 0 :(得分:11)

你在n上模式匹配。


getIt :: SS -> Int
getIt (SSliteral (SSint x)) = x 

我建议你阅读lyah

答案 1 :(得分:0)

我们使用记录语法定义:

data SS = SSliteral {
    ssValue :: Value
    }

data Value = SSint {
    ssInt :: Int
}

现在我们定义

getIt :: SS -> Int
getIt = ssInt . ssValue

现在我们没有任何意义了。