That works good, but I have a problem with the return type, I forgot to mention... can it be a [char]??
Donald Bruce Stewart wrote: > > crespi.albert: >> >> I'm trying to write in Haskell a function that in Java would be something >> like this: >> >> char find_match (char[] l1, char[] l2, char e){ >> //l1 and l2 are not empty >> int i = 0; >> while (l2){ >> char aux = l2[i]; >> char[n] laux = l2; >> while(laux){ >> int j = 0; >> if(laux[j] = aux) laux[j] = e; >> j++; >> } >> if compare (l1, laux) return aux; >> else i++; >> } >> return ''; >> } > > Yikes! > >> >> compare function just compares the two lists and return true if they are >> equal, or false if they are not. >> it is really a simple function, but I've been thinking about it a lot of >> time and I can't get the goal. It works like this: >> >> find_match "4*h&a" "4*5&a" 'h' ----> returns '5' (5 matches with the h) >> find_match "4*n&s" "4dhnn" "k" ----> returns '' (no match at all - lists >> are different anyway) > > That's almost a spec there :) > > How about: > > import Data.List > > findMatch s t c > | Just n <- elemIndex c s = Just (t !! n) > | otherwise = Nothing > > Using it in GHCi: > >> findMatch "4*h&a" "4*5&a" 'h' > Just '5' > >> findMatch "4*n&s" "4dhnn" 'k' > Nothing > > -- Don > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > > -- View this message in context: http://www.nabble.com/Java-or-C-to-Haskell-tf2303820.html#a6404324 Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe