0
문자열의 첫 번째 요소를 가져 와서 문자열과 동일한 다른 모든 요소를 제거하는 함수를 작성하려고합니다. 그런 다음 두 번째 문자에 대해서도 동일한 작업을 수행합니다.Haskell 목록에서 중복 항목을 제거하십시오.
즉 - "Heello"가 "힐로"와 "초콜릿" "Chlate을"될 것
내 원래 시도
removeSuccessor :: String -> String
removeSuccessor x = [c | c <- x, x ! `elem` c]
하지만 그건 .. 제안을 작동하지 않는 것?
당신이 본 모든 요소의 집합을 유지하고는 아직 보지되지 않은 경우에만 현재를 유지할 수
'Data.List.nub'을 보았습니까? – bheklilr
'x! \'elem \'c', 아마도 당신은 아마도'not (elem c x)'를 의미한다고 생각합니다. Haskell은 논리적 인 부정에'! '을 사용하지 않고'elem'은 다른 순서로 인수를 취합니다 (유형은'[a] -> a -> Bool이 아닌'a -> [a] -> Bool'입니다) –
'not (elem cx)'는'c \'notElem \'x'와 동일합니다 – kqr