我在利亚练习。

电话簿。hs文件包含以下代码:

电话簿 ::[(字符串,字符串)]

在尝试编译上述代码时,我得到以下错误:

*主>:加载"/home/optimight/电话簿。hs" [1的1]编译主(/home/optimight/电话簿。hs,解释)

/home/optimight/电话簿。hs:1:1:"电话簿"的类型签名缺少附带的绑定 失败,模块加载:没有。

在布拉诺的回答和随后对这个答案的评论之后添加的问题:我们如何为上述类型签名提供实现?

如果我加上这个 :

类型电话簿=[(字符串,字符串)]

我得到以下错误:

前奏>:加载"/home/optimight/电话簿。hs" [1的1]编译主(/home/optimight/电话簿。hs,解释)

/home/optimight/电话簿。hs:2:6:类型或类声明的格式错误的头部:电话簿 失败,模块加载:无

有帮助吗?

解决方案

您需要为电话簿提供实现。

phoneBook :: [(String, String)] 只是签名。

其他提示

如果要声明一个类型,它必须具有初始大写,即 type PhoneBook = [(String, String)].

如果你想声明一个函数,那么你需要提供它的定义(绑定)或者它的定义和它的类型签名。编译代码的最小努力是:

phoneBook :: [(String, String)]
phoneBook = undefined

然后你可以更换 undefined 具有任何类型的值 [(String, String)] 例如 [("Person","Number")].

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top