Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Задача: определить функцию, которая принимает список или строку, а
- -- также значение, которое в них может входить, а может и не входить,
- -- и возвращает индексы всех вхождений искомого значения в виде
- -- списка; если искомое значение отсутствует в списке, то возвращается
- -- пустой список.
- matches :: Eq a => [a] -> a -> [Int]
- matches l si = [x | (x, y) <- zip [0 ..] l, y == si]
- -- main = print $ matches [1, 2, 3, 11, 2, 33, 14, 3] 3
- -- [2,7]
- -- main = print $ matches "foobarbaz" 'b'
- -- [3,6]
- -- main = print $ matches [(0,9),(1,8),(2,7),(3,6),(4,5),(5,4),(6,3),(7,2),(8,1),(9,0)] (5,4)
- -- [5]
- -- main = print $ matches [False,True,True,False] True
- -- [1,2]
Add Comment
Please, Sign In to add comment