From "Erlang Programming" by Cesarini exercise 3-2
As I go through "Erlang Programming" I get weird list creation issues. From exercise 3-2 I wrote two similar functions.
create( 0 ) -> [];
create( N ) when N > 0 -> [ N | create( N-1 ) ].
reverse_create( 0 ) -> [];
reverse_create( N ) when N > 0 -> [ reverse_create( N-1 ) | N ].
so create(3) generates as I'd expect.
exercise3:create(3).
[3,2,1]
but reverse_create does not generate the list I expect.
exercise3:reverse_create(3).
[[[[]|1]|2]|3]
What do I need to change so that reverse_create(3) returns [1,2,3]? Thanks for explaining.