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
我試圖自己寫一個,但這是一個微不足道的問題,我不想重新發明輪子。
是否有一個技巧或前奏函數來測試列表是否包含特定的子字符串/子列表?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
我試圖自己寫一個,但這是一個微不足道的問題,我不想重新發明輪子。
使用來自Data.List的isInfixOf
。
這些參數是從你所要求的其他方式---它通常是最可讀的使用這樣的功能:"worl" `isInfixOf` "hello world"
(返回True)。
lmhtfy:http://haskell.org/hoogle/?q=[a]+-%3E+[a]+-%3E+Bool –
是否有意在第一種情況下使用'xyz'就好像它的類型是[a] - > [a] - > Bool'並且在第二種情況下就好像它是'[[a]] - > [a] - > Bool'?因爲找到一個允許兩種用法的函數是相當困難的。 – sepp2k
@ sepp2k我的錯!糾正。 – NaN