ただのメモ

「*Main>」の部分が何かはてなで表示がおかしいけど、まあいいや。

StringとCharを連結

*Main> (++ "hoge") $ (head "hoge"):""
"hhoge"

先頭文字を取り出して、同じかどうか確認

*Main> 'h' == (head $ head $ lines "hoge\nfuga")
True

tailsとisPrefixOf関数すげえ

map (isPrefixOf "日本語") ( tails "hogehgasfjasfkjas日本語")

返ってくる結果。論理値(?)が入ったリストが返ってくる。

[False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,True,False,False,False,False,False,False]

上のは一致したところを見ていて、一致すればTrueを返す。ということで、どれかTrueなら一致するところがあるので、foldlとかを使ってみた。

foldl (||) False $ map (isPrefixOf "日本語") ( tails "hogehgasfjasfkjas日本語")")