C'è un modo per utilizzare il metodo FindIndex da Data.Set con la piattaforma Haskell corrente?
-
21-12-2019 - |
Domanda
Ho recentemente iniziato a lavorare su un codice che ha richiesto l'uso di set. Così sono andato a sapoli e ho cercato una soluzione esistente, che ho trovato nel modulo dati.set . Sfortunatamente, Hoogle ha presentato la documentazione per il set incluso nel pacchetto contenitori-0,5.3.1. Questa versione conteneva il pratico Metodo Findindex, che ho pianificato il mio programma in giro.
Ma la piattaforma Haskell viene fornita solo con contenitori-0,5.0.0, in cui FindIndeDex non è disponibile. Come posso usare solo le biblioteche in arrivo con la piattaforma Haskell, sto cercando un modo per includere questa funzione o definirlo da solo. Dritto Copia dei metodi Codice sorgente da http: / /hackage.haskell.org/package/container-0.5.3.1/docs/src/data-set.html ovviamente non ha funzionato. Spero che tu possa aiutarmi a trovare una soluzione al mio problema.
Grazie mille.
Soluzione
Puoi farlo con splitMember
:
lookupIndex :: (Ord a) => a -> Set a -> Maybe Int
lookupIndex x s
| found = Just $ size l
| otherwise = Nothing
where (l, found, _) = splitMember x s
.