gpt4 book ai didi

haskell - Haskell 类型声明、函数和元组作为参数

转载 作者:行者123 更新时间:2023-12-02 17:22:12 25 4
gpt4 key购买 nike

我正在为学校做一份 Haskell 作业。我想创建一个名为 MapTuple 的函数,它将一个函数映射为一个元组作为元组数组的参数。我通过以下方式声明它:

MapTuple :: [(a,b)] -> (a -> b) -> [b]

我想使用该功能的方式如下。

MapTuple :: [(Int, String)] -> (Int -> String) -> [String]

但是问题是编译时出现以下错误:

无效的类型签名:MapTuple::([(a, b)]) -> (a -> b) -> [b]应采用::

形式

我做错了什么?

非常感谢您提前帮助我!

最佳答案

Haskell 有一个命名约定,它实际上是该语言的一部分

  • 函数以小写字母开头
  • 构造函数以大写字母开头

所以你需要将MapTuple更改为mapTuple

至于什么是构造函数,

 data Foo = ThisIsAConstructor

它基本上是一个返回 Foo 的函数。

关于haskell - Haskell 类型声明、函数和元组作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18881279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com