Частично относится к этому вопросу , но отличается, так как речь идет о вызовах конструктора ...
Я бы хотел создать массив с фиксированным количеством объектов.
Я мог бы сделать это:
my @objects;
push( @objects, new MyPackage::MyObject() );
push( @objects, new MyPackage::MyObject() );
push( @objects, new MyPackage::MyObject() );
# ...
Это несколько уродливых видов. Делать это циклом только немного лучше.
Нет ли способа создать массив (инициализированных конструктором) объектов в Perl?
Задний вопрос:
Эти «объекты», которые я хочу создать, на самом деле являются сгенерированными SWIG оболочками для структур C, то есть структур данных без «поведения» (кроме сгенерированных SWIG функций get
и set
). Я просто хочу передать массив в качестве параметра функции C, которая заполнит структуры для меня; нужно ли для вызова конструкторов вообще, или есть ярлык для использования функций get
для чтения содержимого структуры впоследствии? (Да, я ужасно новичок в OOPerl ...)