Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell数据类型模式匹配_Haskell_Pattern Matching - Fatal编程技术网

Haskell数据类型模式匹配

Haskell数据类型模式匹配,haskell,pattern-matching,Haskell,Pattern Matching,假设你有 data SS= SSliteral Value 及 现在让我们假设您有n,它是SS类型。如果要获取SS的Int值,您将如何执行此操作?您需要在n上进行模式匹配 getIt :: SS -> Int getIt (SSliteral (SSint x)) = x 我建议你读一读。你在n上的模式匹配 getIt :: SS -> Int getIt (SSliteral (SSint x)) = x 我建议您阅读。我们使用记录语法定义: data SS = SSlitera

假设你有

data SS=
SSliteral Value


现在让我们假设您有
n
,它是
SS
类型。如果要获取
SS
Int
值,您将如何执行此操作?

您需要在n上进行模式匹配


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

我建议你读一读。

你在n上的模式匹配


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

我建议您阅读。

我们使用记录语法定义:

data SS = SSliteral {
    ssValue :: Value
    }

data Value = SSint {
    ssInt :: Int
}
现在我们定义

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

现在我们没有点了。

我们用记录语法定义:

data SS = SSliteral {
    ssValue :: Value
    }

data Value = SSint {
    ssInt :: Int
}
现在我们定义

getIt :: SS -> Int
getIt = ssInt . ssValue
现在我们是零分的