簡體   English   中英

Haskell無法將類型'[Char]'與'Char'列表理解匹配

[英]Haskell Couldn't match type ‘[Char]’ with ‘Char’ 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’
      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] -> [String]

的確, 一串字符串

為什么? 因為你將部電影都映射到它的標題。 現在因為標題是一個String ,結果是一個String列表。

編譯器實際上是以你解釋它的方式抱怨 :因為type String = [Char] ,你隱式寫了:

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

而它應該是:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM