2011-11-13 5 views
13

リストに特定のサブ文字列またはサブリストが含まれているかどうかをテストするトリック関数またはプレリュード関数はありますか?Haskell:リストに特定の "サブリスト"が含まれているかどうかテスト

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 

私は自分自身に1を書き込もうとしましたが、これは些細な問題であると私は車輪の再発明する必要はありません。

+7

lmhtfy:http://haskell.org/hoogle/?q=[a]+-%3E+[a]+-%3E+Bool –

+0

最初のケースでは、 'xyz'を使用していますあたかもその型が '[a] - > [a] - > Bool'のようになり、2番目の場合は[a] - > [a] - > Bool'のようになります。両方の用途を可能にする関数を見つけるのはかなり難しいでしょうから。 – sepp2k

+0

@ sepp2k私のせい!修正されました。 – NaN

答えて

28

isInfixOfをData.Listから使用してください。

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

関連する問題