Lists:sublist oddity

Gunilla Arendt <>
Thu Feb 2 13:57:33 CET 2006


Whoops, that's an error in the documentation.
Thanks for pointing it out.

/ Gunilla

Heinrich Venter wrote:
> I just discovered the following strange behaviour
> 
> 32> lists:sublist([a,b,c],1,2).
> [a,b]
> 33> lists:sublist([a,b,c],2,2).
> [b,c]
> 34> lists:sublist([a,b,c],3,2).
> [c]
> 35> lists:sublist([a,b,c],4,2).
> []
> 36> lists:sublist([a,b,c],5,2).
> =ERROR REPORT==== 30-Jan-2006::10:59:47 ===
> Error in process <0.72.0> with exit value:
> {function_clause,[{lists,nthtail,[1,[
> ]]},{lists,sublist,3},{erl_eval,do_apply,5},{shell,exprs,6},{shell,eval_
> loop,3}]
> }
> 
> ** exited: {function_clause,[{lists,nthtail,[1,[]]},
>                              {lists,sublist,3},
>                              {erl_eval,do_apply,5},
>                              {shell,exprs,6},
>                              {shell,eval_loop,3}]} **
> 
> It would appear that sublist works according to the docs when
> (Start-length(List1)) = 1 but fails when (Start-length(List1)) > 1
> 
>>From the source it would appear that the documentation is wrong :(
> sublist WILL in fact fail if Start > length(List1)+1.
> 
> -]-[einrich
> 
> 




More information about the erlang-questions mailing list