[erlang-questions] output [[[[]|2]|1]|0] instead of [2.1.0]

Bengt Kleberg bengt.kleberg@REDACTED
Tue Feb 10 15:27:21 CET 2015


++ is used to concatenate lists.
Acc is a list, so you do not need to add [] around it.
Number is not a list, so you need to add [] around it.


bengt

On 02/10/2015 03:19 PM, Roelof Wobben wrote:
> Hello,
>
> I have to make a reversed list to a number so reverse_list(2) will 
> output [2.1]
>
> I have this code :
>
> -module(list_creation).
>
> -export([create/1, create_reverse/1]).
>
> create(Number) when Number >= 0 ->
>   create_acc(Number,[]).
>
> create_acc(-1,Acc) ->
>   Acc;
>
> create_acc(Number, Acc) ->
>   create_acc(Number -1, [Number | Acc]).
>
> create_reverse(Number) when Number >= 0 ->
>   create_reverse_acc(Number, []).
>
> create_reverse_acc(-1, Acc) ->
>   Acc;
>
> create_reverse_acc(Number,Acc) ->
>     create_reverse_acc(Number - 1, [Acc] ++ Number).
>
>
> but when I do create_reverse(2) I see this output [[[[]|2]|1]|0] 
> instead of [2,1,0]
>
> Does the ++ always produce this when adding a item to a list ?
>
> Roelof
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions




More information about the erlang-questions mailing list