C'è un modo per utilizzare il metodo FindIndex da Data.Set con la piattaforma Haskell corrente?

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

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.

È stato utile?

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
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top