Haskell:リストに特定の「サブリスト」が含まれているかどうかをテストする

2011年11月14日に質問されました。  ·  閲覧回数 10.2k回  ·  ソース

NaN picture
2011年11月14日

リストに特定のサブストリング/サブリストが含まれているかどうかをテストするためのトリックまたはプレリュード関数はありますか?

xyz :: [a] -> [a] -> Bool
xyz "hello world" "worl" -> True
xyz [1,2,3,4,5,6,7,8,1,2,3,4,5] [7,8,1] -> True

自分で書いてみましたが、これは些細な問題で、車輪の再発明はしたくありません。

回答

dave4420 picture
2011年11月14日
30

Data.ListのisInfixOfを使用します。

パラメータは、要求したものとは逆です---通常、次のような関数を使用するのが最も読みやすくなります: "worl" `isInfixOf` "hello world" (Trueを返します)。