Arrays...
Blitz3D Forums/Blitz3D Beginners Area/Arrays...| 
 | ||
| I'v been reading some good C++ books, and arrays seem very handy, i'v never messed with them in blitz, but as a learning thing i'd like to use them as a data stucture... I want a multi-dimensional array so i can create a data structure like this: myarray[ "test",100, "secondtest",200, ] to have 2 elements for an array... is this kind of stuff possible in blitz? or should i go with my usual TYPES data structure? (harder to type and harder to read then somthing like the above) | 
| 
 | ||
| As far as I'm aware the nearest to this in Blitz would be types. In C you usually use typedef struct and then have an array of the associated structure. | 
| 
 | ||
| In the blitz manual you can use the dim command e.g Dim (100,200) | 
| 
 | ||
| From my understanding the Dim command only creates an array of a single type. eg. Dim name$(10,5,2) creates an array of strings, despite how many dimensions are specified. In C you can define a custom structure and create and array from that structure. eg. 
typedef struct my_array
{
    int a
    float b
    char c
} MY_ARRAY;
then use it as follows:
const MY_ARRAY  array[]=
{
     { 1, 2.5, 'a' },
     { 6, 7.5, 'b' },
     { 2, 3.2, 'c' },
     { 4, 1.2, 'd' }
};
 | 
| 
 | ||
| In Blitz you can also have an array of types: Type Planet field name$ field radius% end type Dim MyArray.Planet(10) ; or MyArray(10).Planet, I can't remember now the syntax. MyArray(1) = new Planet MyArray(1)\radius = 123 MyArray(1)\name = "Saturn" ;another use is also: p.Planet = MyArray(1) print "Planet " + p\name + " has a radius of " + p\radius + " Km." Sergio. | 
| 
 | ||
| Thanks for the help guys, but its easyer for me just to use TYPES |