0
配列の配列またはそれ以外の文字列を解析する必要がある文字列があります。代わりにこれを試してみてくださいHaskell:解析によるデータ型エラー
Expected type: Parser CSV
Actual type: Maybe CSV
配列の配列またはそれ以外の文字列を解析する必要がある文字列があります。代わりにこれを試してみてくださいHaskell:解析によるデータ型エラー
Expected type: Parser CSV
Actual type: Maybe CSV
:
parseCSV :: Parser CSV
parseCSV = return $ CSV [[""]]
この
は私がparseCSV機能parseCSV = Just (CSV [[""]])
を実装を開始するとき、私はこのエラーを取得する
import Test.HUnit (runTestTT,Test(TestLabel,TestList),(~?=))
import qualified Text.Parsec as P (char,runP,noneOf,many,(<|>),eof)
import Text.ParserCombinators.Parsec
import Text.Parsec.String
import Text.Parsec.Char
import Text.PrettyPrint.HughesPJ
import Data.Maybe
import Data.List.Split
newtype CSV = CSV [Row] deriving (Show,Eq)
type Row = [String]
parseCSV :: Parser CSV
parseCSV = error "not done yet"
runParsec :: Parser a -> String -> Maybe a
runParsec parser input = case P.runP parser() "" input of
Left _ -> Nothing
Right a -> Just a
を持っているコードです
このエラーは、すべてparseCSV
のタイプがParser CSV
(タイプシグニチャ)である必要がありますが、Just (CSV [[""]])
のタイプはMaybe CSV
である必要があります。
それは働いた!私は数分で正解とマークします、ありがとう! –