From "Erlang Programming" by Cesarini 3-2 Exercises
When I look at Erlang Programming, I get problems creating strange lists. 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) is generated as i expected.
exercise3: create (3).
[3,2,1]
but reverse_create does not generate the list that I expect.
exercise3: reverse_create (3)
. [[[[] | 1] | 2] | 3]
What do I need to change for reverse_create (3) to return [1,2,3]? Thanks for the explanation.
source
share