LINUX.ORG.RU

Moo, push в массив-атрибут класса

 , , ,


0

1

Что-то я уже совсем, наверное, туплю.

package foo; {
   use Moo;
   has '_data' => (
      is => 'ro',
      required => 1,
      default => sub { [] }
   };

   sub bar {
      my $self = shift;
      my $buffer = somethingAwesomeAsArrayRef();
      push @{$self->_data}, $buffer; # !!!
   };
};

my $test = Foo->new;
$test->bar;

На указанную строку (!!!) ругается:

Not an ARRAY reference at <...> line <...>

Как добавить в конец массива, если массив - атрибут класса Moo?

★★★★★

Последнее исправление: CYB3R (всего исправлений: 2)

Ответ на: комментарий от Olegymous

каюсь, недостмотрел. Было

#...
default => sub { {} }
#...

вопрос закрыт.

bvn13 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.