[Haskell-beginners] Case statements shorter
uu1101 at gmail.com
uu1101 at gmail.com
Tue Nov 2 14:46:17 EDT 2010
Nice distinction! Thank you for the correction.
Il giorno 02/nov/2010, alle ore 09.11, Roel van Dijk <vandijk.roel at gmail.com
> ha scritto:
> On Mon, Nov 1, 2010 at 7:23 PM, uu1101 at gmail.com <uu1101 at gmail.com>
> wrote:
>> * _ is not a special keyword in haskell. It's a regular variable so
>> will
>> always match. It's usually used when you don't use it's value in
>> the right
>> hand side or when it adds no information. In this case its value
>> will be n
>> so there is no reason to introduce another name.
>
> This is incorrect. _ is a pattern not a variable.
>
> I can write
>
> f (_:_) = "bla"
>
> but not
>
> f (x:x) = "bla"
> Conflicting definitions for `x' In the definition of `f'
>
> So _ is a pattern that always matches but is never bound to a value.
>
> Regards,
> Roel
More information about the Beginners
mailing list