Chcę zastąpić element na liście nową wartością tylko przy pierwszym wystąpieniu. Napisałem poniższy kod, ale używając go wszystkie dopasowane elementy ulegną zmianie.Zastąp element na liście tylko raz - Haskell
replaceX :: [Int] -> Int -> Int -> [Int]
replaceX items old new = map check items where
check item | item == old = new
| otherwise = item
Jak mogę zmodyfikować kod tak, aby zmiana miała miejsce tylko przy pierwszym dopasowanym elemencie?
Dzięki za pomoc!
Dziękuję bardzo za dokładne wyjaśnienie! Dużo się nauczyłem. – Afflatus