[Haskell-cafe] xs not in scope
Roelof Wobben
r.wobben at home.nl
Sun Nov 9 17:10:52 UTC 2014
Oke,
So this cannot be done with guards ?
Roelof
Max Voit schreef op 9-11-2014 18:04:
> Hi Roelof,
>
> the problem is, you cannot pattern-match within guards. Guards take
> predicates.
>
> On your example: "last3 a" pattern-matches the first argument of last3
> into a. You may now use a in all further statements. If, however, you
> want to do pattern matching, it would look like this:
>
> last3::[a]-> Maybe a;
> last3 [] = Nothing
> last3 ([a]) = Just a
> last3 (_:xs) = last3 xs
>
> Notice that the last case will never be executed, as the matching is
> complete with the first two case.
>
> Max
>
> Am Sun, 09 Nov 2014 17:38:26 +0100
> schrieb Roelof Wobben <r.wobben at home.nl>:
>
>> Hello,
>>
>> Im trying to find several answers to problem1 of the 99 haskell
>> problems. Find the last item in a list.
>>
>> Now im trying to find a guarded solution.
>> So far I have this:
>>
>> last3::[a]-> Maybe a;
>> last3 a
>> | [] = Nothing
>> | ([a]) = Just a
>> | (_:xs) = last3 xs
>>
>> But I see this error messages :
>>
>> src/Main.hs at 10:8-10:10Not in scope: xs
>>
>> How to solve this ?
>>
>> Roelof
>>
>>
>> _______________________________________________
>> Haskell-Cafe mailing list
>> Haskell-Cafe at haskell.org
>> http://www.haskell.org/mailman/listinfo/haskell-cafe
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
More information about the Haskell-Cafe
mailing list