joaolliveira Posted December 3, 2012 at 02:28 PM Report #485555 Posted December 3, 2012 at 02:28 PM (edited) data Auction = Auction { actid :: Int, actowner :: String, actdesc :: String, actvalue :: Int, actbidder :: String } deriving (Show,Eq,Ord) Tenho este data Type , e quero fazer uma função que percorra uma lista de Auction, para ver se existem actid repetidos. Caso exista é devolvido True repetidos :: [Auction] -> Bool eu tinha feito uma coisa deste género, mas isto só funciona para o primeiro da lista.... auctioncompare :: [Auction] -> Bool auctioncompare [] = False auctioncompare ((Auction a b c d e):(Auction q w i r t):hs) = if (a==q) then True else auctioncompare((Auction a b c d e):hs) Algém tem ideia de como acabar isto? Obrigado desde já Edit: Já está resolvido! Edited December 3, 2012 at 03:08 PM by Baderous geshi
thoga31 Posted December 3, 2012 at 07:06 PM Report #485587 Posted December 3, 2012 at 07:06 PM Edit: Já está resolvido! E como foi que resolveste? Seria simpático dizeres a solução ao problema que colocaste como referência futura para dúvidas semelhantes. Knowledge is free!
Rui Carlos Posted December 3, 2012 at 11:50 PM Report #485645 Posted December 3, 2012 at 11:50 PM Assim à primeira vista, faltava considerar o caso em que a lista tem um elemento. Qualquer coisa como auctioncompare [_] = False depois da segunda linha devia resolver o assunto. Rui Carlos Gonçalves
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now