2
は、その後、私は
readPartialDate :: String -> Maybe PartialDate
ビットテストコードの機能を持っているPartialDate
と呼ばれるタイプがありmain = do
[d] <- getArgs
return $ show $ readPartialDate d
runhaskell PartialDate.hs "12-2-2010"
"Just 12-2-2010"
すべてOK
それから私はreadPartialDateにディスパッチすることにより、簡単に読み取り、作成:
instance Read PartialDate where
readsPrec _ s = case (readPartialDate s) of
Nothing -> []
Just p -> [(p, s)]
テストコード:
main = do
[d] <- getArgs
return $ show $ ((read d) :: PartialDate)
runHaskell PartialDate.hs 12-2-2010
PartialDate.hs: Prelude.read: no parse
読み取りに仕事関数を置くことに上昇を与えるかもしれない、なぜ誰もが知っていますが解析エラー?
readPartialDateはParsecを使用していますが、逆も使用していますので、ここで怠惰の問題がありますか?
素晴らしい。ありがとうダニエル –
@RobertOnslow:これがあなたの質問に答えた場合は、そのようにマークすることを忘れないでください。 – ivanm