[erlang-questions] guards

Dave Pawson dave.pawson@REDACTED
Sat Jul 25 11:11:54 CEST 2009


2009/7/25 Johnny Billquist <bqt@REDACTED>:

>>> It is little bit overcomplicated version of
>>>
>>> filterHelper([X], Int, Result) when X =< Int -> [X|Result];
>>
>> Mmm. Thanks... I think :-)
>> (I'm trying to learn!)
>>
>> Does that check for a list length of 1?
>
> A pattern of [X] can only match a list with one element.

Couldn't X be a variable which might be a tuple or ... almost anything?
Or is this pattern matching logic, that implies it is as you say?


> If the list have two elements, you'd have to write [X,Y] to match, and so
> on...

Yes. Two element list would require the comma


> If you want to match a list of unknown length, where you want to look at the
> first element, you should write [X|Y].

I'm getting used to that pattern, very useful!

Thanks.



-- 
Dave Pawson
XSLT XSL-FO FAQ.
Docbook FAQ.
http://www.dpawson.co.uk


More information about the erlang-questions mailing list