我学习Haskell对我自己和我通过锻炼在独联体homework 194困惑:CIS 194锻炼混乱
练习1之前,我们就可以开始评估表达式和语句,我们需要一些方法来存储并查找变量的状态。我们将一个状态定义为类型为String - > Int的函数。这使得查找变量的值非常容易;在状态中查找 “A”的值,我们只需调用状态“A”。每当我们分配一个变量时,我们都想更新程序状态。实现以下功能: 延长::状态 - >字符串 - >内部 - >国家
提示:您可以使用输入状态作为一个黑盒子为其他 比你分配一个变量。
例子: 让ST” =延长ST圣 “A” 5 ” “A” == 5
我根本不明白它的要求和示例。这是如何提供查找“A”价值的方法?由于State
被定义为type State = String -> Int
,extend
的类型是String->Int->String->Int->State
?
很抱歉,如果这是真的小学,但这是否意味着(在你的例子)'ST “A”'是'(与字符串>智力)'了'extend'的部分(即'State')类型?如果是,那么它应该跟着一个字符串? – Liumx31
没错。在调用'extend st'A“5'时,'st'需要有'String - > Int'类型。在'let st'A'= 3'表达式中,我使用模式匹配来定义一个部分函数st,它在“A”的输入上返回3。没有为任何其他输入值定义“st”。如果你正确地定义了'extend',那么'st''也不会被定义为任何其他输入,并且'st''只被定义为“A”和“B”。 – chepner
其实我想知道'st'A''在'extend st“中是否有'5'类型(String - > Int),那么不应该在'extend'的后面加上'String' '(String - > Int)[它是st“A”] - > String - > Int ...' – Liumx31