[英]Haskell : Transform String -> [List]
我正在嘗試在第一行中讀取n,然后讀取n行輸入,並從每行打印前2個元素的總和,例如:
輸入:
2
1 2
3 4
輸出:
3
7
到目前為止,我的代碼如下所示:
import Control.Monad
fromDigits = foldl addDigit 0
where addDigit num d = 10*num + d
first (x:xs) = fromDigits x
second (x:xs) = fromDigits xs
main = interact processInput
processInput input = unlines [perLine line | line <- lines input]
perLine line = first line + second line
但我收到以下錯誤
無法將類型'[Char]'與'Char'匹配
無法將類型'Char'與'[String]'相匹配
我是Haskell的新手,所以不確定如何解決它。
一些提示,順序為:
Char
轉換為Int
等。
ord
。 x:xs
模式中, xs
是列表的其余部分,而不是下一個元素。
[Char]
相對於Char
問題的來源。 words
功能。 show
。 通常,我建議啟動ghci
並使用它,以使您對Haskell有一些基本的了解。 在另一個窗口中拉起Hoogle或其他Haskell參考...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.