入門 Haskell 練習問題 1.6
1. wordScan を使って inQuote を再実装
wordsCount str = outWords str where outWords str = wordScan (\n -> 1 + n) str inWords str = wordScan id str inQuote (c:cs) | c == '\'' = outWords cs | otherwise = inQuote cs wordScan f [] = 0 wordScan f (c:cs) | c == '`' = f (inQuote cs) | isAlphaNum c = f (inWords cs) | otherwise = outWords cs
inQuote から wordScan を呼べれば綺麗なんだけど。