У меня есть некоторые табличные данные:
Foo Bar
-------------
fooes 42
bars 666
...
Итак, я объявляю структуру сущности:
type TFoo = record
Foo: string;
Bar: Integer
end;
и таблица сущностей:
const FOOES = array [M..N] of TFoo = (
// Have to specify the field names for each record...
(Foo: 'fooes'; Bar: 42),
(Foo: 'bars'; Bar: 666)
{ so on }
);
Как видите, это выглядит довольно многословно и избыточно, и это потому, что я инициализирую все поля для всех записей. И есть много редактирования, если я копирую табличные данные, подготовленные в другом месте. Я бы предпочел не перечислять все поля и придерживаться более лаконичного стиля C, то есть только констант. И вот приходит конструктор записей ...
Могут ли конструкторы записи помочь мне в этом случае?
Вот пример на C. Вы заметите, что нам не нужно указывать имена полей в каждом объявлении:
#include <stdio.h>
typedef struct {
char foo[10];
int bar;
} foo;
int main(void) {
/* Look here */
foo FOOES[2] = {{"foo", 42}, {"bar", 666}};
int i = 0;
for (; i < 2; i++) {
printf("%s\t%d\n", FOOES[i].foo, FOOES[i].bar);
}
return 0;
}