Actualización de «Elemento más cercano que cumple una propiedad»
He actualizado las soluciones del ejercicio Elemento más cercano que cumple una propiedad cuyo enunciado es
Definir la función
cercano :: (a -> Bool) -> Int -> [a] -> Maybe a
tal que (cercano p n xs) es el elemento de xs cuya posición es la cercana a la posición n que verifica la propiedad p. La búsqueda comienza en n y los elementos se analizan en el siguiente orden: n, n+1, n-1, n+2, n-2,... Por ejemplo,
cercano (`elem` "aeiou") 6 "Sevilla" == Just 'a' cercano (`elem` "aeiou") 1 "Sevilla" == Just 'e' cercano (`elem` "aeiou") 2 "Sevilla" == Just 'i' cercano (`elem` "aeiou") 5 "Sevilla" == Just 'a' cercano (`elem` "aeiou") 9 "Sevilla" == Just 'a' cercano (`elem` "aeiou") (-3) "Sevilla" == Just 'e' cercano (>100) 4 [200,1,150,2,4] == Just 150 cercano even 5 [1,3..99] == Nothing