List 哈斯克尔不能';t匹配类型‘;[字符]’;与‘;Char’;列表理解

List 哈斯克尔不能';t匹配类型‘;[字符]’;与‘;Char’;列表理解,list,haskell,list-comprehension,List,Haskell,List Comprehension,因此,我试图浏览一个电影列表并输出每部电影的标题,编译器说它无法将类型[Char]与Char匹配。 问题是我想要的是[Char](一个字符串),而不是Char??我不明白为什么它需要一个字符而不是字符串 fas:: [Film] -> String fas database = [title x | x <- database] test.hs:55:27: error: • Couldn't match type ‘[Char]’ with ‘Char’ Ex

因此,我试图浏览一个电影列表并输出每部电影的标题,编译器说它无法将类型
[Char]
Char
匹配。 问题是我想要的是
[Char]
(一个字符串),而不是
Char
??我不明白为什么它需要一个字符而不是字符串

fas:: [Film] -> String
fas database = [title x | x <- database]

test.hs:55:27: error:
    • Couldn't match type ‘[Char]’ with ‘Char’
      Expected type: Char
        Actual type: String
    • In the expression: title x
      In the expression: [title x | x <- database]
      In an equation for ‘fas’:

          fas database = [title x | x <- database]
fas::[Film]->字符串

fas数据库=[title x | x如果我理解您希望正确执行的操作,则签名应为:

fas:: [Film] -> [String]
fas :: [Film] -> [[Char]]
鉴于它应该是:

fas:: [Film] -> [String]
fas :: [Film] -> [[Char]]

fas-database=map-title-database
或仅仅
fas=map-title
比列表理解更可取。“为什么?因为你把每部电影都映射到了它的标题上。”-这很有意义,非常感谢!