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

Reply via email to