我可以在Haskell代码中使用类型声明吗
我是Haskell的新手,我对函数类型声明有一点疑问。假设有一堆整数,我们需要求和并打印出来。我知道这是可行的:我可以在Haskell代码中使用类型声明吗,haskell,Haskell,我是Haskell的新手,我对函数类型声明有一点疑问。假设有一堆整数,我们需要求和并打印出来。我知道这是可行的: main=do 问题是read没有类型Int,它有类型String->Int(出于您的目的)。map函数只接受一个函数作为其第一个参数,您试图说read具有类型Int,这意味着它不是一个函数。您也无法将类型reada=>String->a强制为Int,因此这两个问题都会出错。问题是Read没有类型Int,它有类型String->Int(出于您的目的)。map函数只接受一个函数作为其
main=do
问题是read
没有类型Int
,它有类型String->Int
(出于您的目的)。map
函数只接受一个函数作为其第一个参数,您试图说read
具有类型Int
,这意味着它不是一个函数。您也无法将类型reada=>String->a
强制为Int
,因此这两个问题都会出错。问题是Read
没有类型Int
,它有类型String->Int
(出于您的目的)。map
函数只接受一个函数作为其第一个参数,您试图说read
具有类型Int
,这意味着它不是一个函数。您也无法将类型reada=>String->a
强制为Int
,因此这两个问题都会出错。非常感谢!我将其更改为fmap(map(read::String->Int).words)getContents
,运行正常。非常感谢!我将其更改为fmap(map(read::String->Int).words)getContents
,它运行正常。