IndexUtil.hs
getElementIndex :: (Eq a) => a -> [a] -> Maybe Int getElementIndex ele [] = Nothing getElementIndex ele xs = getIndex ele xs 0 getIndex :: (Eq a) => a -> [a] -> Int -> Maybe Int getIndex ele [] index = Nothing getIndex ele (x:xs) index | (ele == x) = Just index | otherwise = getIndex ele xs (index+1)
*Main> :load IndexUtil.hs [1 of 1] Compiling Main ( IndexUtil.hs, interpreted ) Ok, modules loaded: Main. *Main> *Main> getElementIndex 10 [] Nothing *Main> *Main> getElementIndex 10 [2, 3, 5, 7, 10, 9, 10, 19, 81] Just 4 *Main> getElementIndex 'H' "Good Bye" Nothing *Main> *Main> getElementIndex 'H' "Good Bye Hari" Just 9 *Main>
No comments:
Post a Comment