[fpc-devel] for-in-index loop

Alexander Klenin klenin at gmail.com
Sat Jan 26 17:09:19 CET 2013


On Sun, Jan 27, 2013 at 1:05 AM, Mark Morgan Lloyd
<markMLl.fpc-devel at telemetry.co.uk> wrote:
> Sven Barth wrote:
> Some way of extending a single value to fill a tuple where all the elements
> are of the same type would be useful, note that I'm not suggesting any other
> relaxation of type checking.
>
> (x, y, z) := (0, 0, 0);         // OK
> (x, y, z) := Tuple(0);          // OK
> (x, y, z) := (0, 0);            // Not OK
> (x, y, z) := Tuple(0, 0);       // Not OK
>
> So if I understand things correctly, brackets [] are used where the number
> of contained elements is indeterminate (sets, multidimensional array
> indices, arrays of const) and parentheses where it's determinate (tuples,
> record initialisation etc.).
>

Note that in my proposal I suggested to allow array deconstruction and
ignoring extra elements on the right side,
so mass initialization may be implemnted by something like this:
const
  ZEROES: array [1..10] of Integer = (0, 0, ..., 0);
...
(x, y, z) := Tuple(ZEROES);
alternatively:
function Repeat(AValue: Integer; ACount: Integer = 10): TIndegerDynArray;
...
(x, y, z) := Tuple(Repeat(777));

Anyway, I do not think mass-assignment of the same value is
particularly important
compared to the general case of mass-assignment of arbitrary values.

--
Alexander S. Klenin



More information about the fpc-devel mailing list