[erlang-questions] Why lists:dropwhile() didn't return the expected result?
t ty
tty.erlang@REDACTED
Thu May 1 13:29:11 CEST 2008
dropwhile docs says "Drops Elem while Pred return true and returns
remaining list"
and in your example
K(1) = false
i.e. the first element dropwhile encounters Pred return false and the
remaining list (which is the whole list) is returned.
Look into lists:takewhile/2 instead.
t
On Thu, May 1, 2008 at 6:42 AM, catsunny <catsunny@REDACTED> wrote:
> Hello,
> Hope I am not ask silly questions. I am new to erlang. So it's probably my
> mistake.
> The following is what I did:
>
> 13> K=fun
> 13> (X) when X>4 ->
> 13> true;
> 13> (X) when X==4 ->
> 13> true;
> 13> (X) when X<4 ->
> 13> false
> 13> end
> 13> .
> #Fun<erl_eval.6.13229925>
> 14> lists:dropwhile(K,[1,2,3,4,5,6,7,8]).
> [1,2,3,4,5,6,7,8]
> 15> K(1).
> false
> 16> K(55).
> true
>
> At prompt line 14, I hope the return value to be [1,2,3], but it's
> [1,2,3,4,5,6,7,8]. Why?
>
> Thanks.
> Catsunny
> 2008-05-01
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://www.erlang.org/mailman/listinfo/erlang-questions
>
More information about the erlang-questions
mailing list