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

Donald Steven t6sn7gt@REDACTED
Sun Apr 24 23:24:05 CEST 2016

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],

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.


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]

More information about the erlang-questions mailing list