【发布时间】:2015-10-29 03:10:36
【问题描述】:
我是 Haskell 新手,我需要定义这种数据类型:
data Restaurant = Restaurant [(String, String, Int)] deriving (Eq,Show)
这是餐厅员工的列表:每个员工的(姓名、地址、工资)。
现在,我正在尝试定义这个 numberOfEmployees 函数:
numberOfEmployees :: Restaurant -> Int
numberOfEmployees rest = length rest
但是我得到这个编译错误: 无法将预期类型“t2 a0”与实际类型“Restaurant”匹配
为什么我使用 type 而不是 data 会起作用? (我不能在我的代码中使用“类型”声明,因为它是关于“数据”的练习的一部分)
type Restaurant = [(String, String, Int)]
【问题讨论】:
-
旁注:每次你说“我不能那样做”时,都应该在这里说明原因。
-
你是对的,对不起。我刚刚更正了。
标签: haskell