[erlang-questions] How to keep adding items to a data structure

Vimal Kumar vimal7370@REDACTED
Mon Apr 25 07:17:51 CEST 2016


In Erlang, you add elements to existing list, and finally reverse it.

E.g:

List1 = [orange],
List2 = [mango|List1],
List3 = [apple|List2],
FinalList = lists:reverse(List3).

Result:
[orange, mango, apple]

If you have thousand items to add, you can either create thousand different
NEW variables, OR use a recursive function or whatever depending on your
exact requirement. It isn't absurd or primitive. It can look that way when
you start out in Erlang, but read the book you ordered and it will all make
sense.
On Apr 25, 2016 9:25 AM, "Donald Steven" <t6sn7gt@REDACTED> wrote:

> Thanks Oliver, I appreciate your note. I understand that a list can
> contain different elements, as you've indicated.  That's wonderful! And I
> have that book on order.  What I'm so frustrated by is, apparently, in
> order to extend a list by adding new musical events, that I have to keep
> creating new lists, like:
>
> List1 = [musical-event],
> List2 = List1 ++ [new-musical-event],
> List3 = List2 ++ [new-musical-event],
> List4 = List3 ++ [new-musical-event],
> etc.
>
> all the way to perhaps a few thousand.  This is primitive and absurd.  I
> need a better solution, whether it's a list or an array or a record.
>
> Don
>
> On 04/24/2016 05:05 PM, Oliver Korpilla wrote:
>
>> Hello, Donald.
>>
>> Lists are not fixed to one type like arrays in C are.
>>   [[1,2,3],"hello",5,world] is a valid Erlang expression, even though the
>> list contains another list, a string, a number, and an atom.
>>
>> You might want to read a book like "Programming Erlang" to get into the
>> language. I highly recommend it, it really helped laying down the basics
>> and understand the design principles of the OTP shipped with Erlang.
>>
>> Cheers,
>> Oliver
>>
>> Gesendet: Sonntag, 24. April 2016 um 22:05 Uhr
>> Von: "Donald Steven" <t6sn7gt@REDACTED>
>> An: "Antonios Kouzoupis" <kouzan@REDACTED>, erlang-questions@REDACTED
>> Betreff: Re: [erlang-questions] How to keep adding items to a data
>> structure
>> Hi Antonios,
>>
>> You are kind and generous to help. I'll study this carefully. I will
>> be wanting to add a list or a record, not just numbers. Is this possible?
>>
>> Don
>>
>> On 04/24/2016 03:13 PM, Antonios Kouzoupis wrote:
>>
>>> Hi Don,
>>>
>>> The way you iterate in Erlang and I guess in most functional programming
>>> languages is by recursive call. So if you want to add/append some
>>> numbers to a list, one way to go is the following:
>>>
>>> populate(Num) ->
>>> populate(Num, []).
>>>
>>> populate(0, Acc) ->
>>> Acc;
>>> populate(Num, Acc) ->
>>> populate(Num - 1, [Num | Acc]).
>>>
>>>
>>> Now if you call populate(100), you'll get the list [1,...,100]
>>>
>>> BR,
>>>
>>>
>>>
>>> _______________________________________________
>>> erlang-questions mailing list
>>> erlang-questions@REDACTED
>>> http://erlang.org/mailman/listinfo/erlang-questions
>>>
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questions@REDACTED
>>
>> http://erlang.org/mailman/listinfo/erlang-questions[http://erlang.org/mailman/listinfo/erlang-questions]
>>
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20160425/185b06c8/attachment.htm>


More information about the erlang-questions mailing list