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
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to