現在、関数 Data.ByteString.Char8.readInt を使用して「Maybe (Int, ByteString)」の戻り値の型を処理する方法を理解しようとしています。型チェックによって Maybe を削除しましたが、さらに処理する方法がわかりません。私が今持っている「(Int, ByteString)」の型。おそらく明らかな何かが欠けているように感じます。誰かが私を正しい方向に向けてくれることを願っています。どんな助けでも大歓迎です!
1 に答える
1
readInt
非常に効率的なパターン マッチングを使用してループを記述するために設計されています。たとえば、数値のファイルを ascii 形式で合計するには:
import qualified Data.ByteString.Lazy.Char8 as S
main = print . go 0 =<< S.getContents
where
go !n !s = case S.readInt s of -- lazily reads current line
Nothing -> n
Just (k,t) -> go (n+k) (S.tail t)
于 2013-08-01T14:53:12.927 に答える