首先,我创建了一个类型 StudentMark,它是一个元组,首先是一个字符串,其次是一个 Int。
type StudentMark = (String, Int)
这是我的 capMarks 函数:
capMarks :: [StudentMark] -> [StudentMark]
capMarks [cMarks] = [(st, mk) | (st, mk) <- [capMark cMarks]]
这是我的 capMark 函数:
capMark :: StudentMark -> StudentMark
capMark (st, mk)
| mk > 39 = (st, 40)
| mk < 40 = (st, mk)
它应该返回:
[("Jo", 37), ("Sam", 40)]
从:
capMarks [("Jo", 37), ("Sam", 76)]
但是只有当我在函数中输入 1 个参数时才会返回正确和预期的响应,例如:
capMarks [("Jake", 50)]
或者
capMarks [("Jake"), 30]
但是按照预期使用两个(或更多)只会告诉我 capMarks 函数中有一个非穷举模式。