|
![](/i/fill.gif) |
> Hi people,
>
> I've defined an array, like this:
>
> #declare Detail=40;
> #declare VoxelSpace=array[Detail+1][Detail+1][Detail+1];
>
> to fill it, I did this:
>
> #debug "Filling...\n"
> #declare YI=0;
> #while (YI<Detail)
> #declare ZI=0;
> #while (ZI<Detail)
> #declare XI=0;
> #while (XI<Detail)
> #declare VoxelSpace[XI][YI][ZI]=0;
> #declare XI=XI+1;
> #end
> #declare ZI=ZI+1;
> #end
> #declare YI=YI+1;
> #end
>
> to fill an array on initialising-time, using "Array Initializers" the docs give
> me something like this:
>
> #declare Digits =
> array[4][10]
> {
> {7,6,7,0,2,1,6,5,5,0},
> {1,2,3,4,5,6,7,8,9,0},
> {0,9,8,7,6,5,4,3,2,1},
> {1,1,2,2,3,3,4,4,5,5}
> }
This can be writen on one long line.
>
>
> Is there a way to fill an array, using only ONE line, saying that ALL values are
> =0?
>
> Best rgds,
> Holger
>
>
>
You can't quick fill all element of an array using only one instruction.
Any element must be explicitely given a content before you can get it's
content.
As you probably don't need the indexing variables outside the
initialisation, and you surely don't need to keep the final values, you
can use #local.
That way, the variables will not exist once the loops are terminated.
Post a reply to this message
|
![](/i/fill.gif) |