On 04/18/2014 08:47 PM, steven kladitis wrote:
Thanks, I am trying to understand what I am doing. The docs seem unclear
to me on how to initialize these. I think there are three ways.
with brackets , the other with foreach or direct assignments.
-- here is a longer version
-- uncomment out the assignments to see the errors I get.
-- I am trying to understand arrays.
I like to differentiate between arrays and associative arrays. Although
its name has "array" in it, an associative arrays is actually a hash table.
First, let me repeat Jesse Phillips's suggestion: Do not use the C
syntax. Here is the D syntax: T[N] means "an array of N objects of type T."
So, the following is an array of 2 ints:
int[2] arr;
When the size of the array is specified like that, it is a fixed-length
array.
There are dynamic arrays where the actual array is maintained and owned
by the runtime. Such arrays are accessed by a slice. A slice is defined
similar to a fixed-length array but the size is missing:
int[] arr;
An associative array (AA) is defined by the syntax ValueType[KeyType].
So, the following is an AA mapping strings to doubles:
double[string] table;
Here are three chapters on these topics:
http://ddili.org/ders/d.en/arrays.html
http://ddili.org/ders/d.en/slices.html
http://ddili.org/ders/d.en/aa.html
Ali