현재 Haskell 플랫폼으로 Data.set에서 FindIndex 메서드를 사용하는 방법이 있습니까?

StackOverflow https://stackoverflow.com//questions/20031681

문제

나는 최근에 세트 사용을 요구하는 몇 가지 코드에서 작업하기 시작했습니다. 그래서 나는 Hogle에 갔고, 모듈에서 data.set . 불행히도, Hogle은 컨테이너 -I 0.5.3.1 패키지에 포함 된 세트에 대한 문서를 밝힙니다. 이 버전에는 Handy FindIndex 메서드가 포함되어 있습니다.

그러나 Haskell 플랫폼은 FindIndex를 사용할 수없는 컨테이너 -0.5.0.0에만 제공됩니다. Haskell 플랫폼과 함께 오는 라이브러리 만 사용할 수 있으므로이 기능을 포함 시키거나 직접 정의하는 방법을 찾고 있습니다. 쉽게 http : / /hackage.haskell.org/package/containers-0.5.3.1/docs/src/data-set.html 분명히 작동하지 않았습니다. 내 문제에 대한 해결책을 찾도록 도와 줄 수 있기를 바랍니다.

감사합니다.

도움이 되었습니까?

해결책

splitMember로 할 수 있습니다.

lookupIndex :: (Ord a) => a -> Set a -> Maybe Int
lookupIndex x s
   | found      = Just $ size l
   | otherwise  = Nothing
 where (l, found, _) = splitMember x s
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top