[fpc-pascal] Initializing dynamic arrays
Jonas Maebe
jonas.maebe at elis.ugent.be
Mon Jun 4 15:18:02 CEST 2012
ingemar wrote on Mon, 04 Jun 2012:
> There is just one thing that I can't do: I can't initialize a matrix in
> any elegant way! I would like to do like this:
>
> m1: Matrix = ((1, 2, 3), (2, 3, 4));
>
> and get a properly sized dynamic array matching the matrix given.
>
> This is obviously not supported, but what can I do? I can build an
> infinite number of functions, taking fixed-sized arrays as input and
> returning a dynamic array, but then I need one function for each
> combination of height and width! That is OK for sizes up to 3 or 4 but
> then it becomes ridiculous.
>
> Is there a better way to solve this problem?
I think this is a case where a pointer combined with a width and
height parameter is probably the best solution. The more Pascal-like
and cleaner approach using open array parameters is only generic if
you limit yourself to 1-dimensional arrays.
Jonas
More information about the fpc-pascal
mailing list