Как установить атрибут атрибута только для чтения Moose?Лошь только атрибуты атрибута только для чтения и как их установить?
package AttrTrait;
use Moose::Role;
has 'ext' => (isa => 'Str', is => 'ro');
package Class;
has 'foo' => (isa => 'Str', is => 'ro', traits => [qw/AttrTrait/]);
package main;
my $c = Class->new(foo => 'ok');
$c->meta->get_attribute('foo')->ext('die') # ro attr trait
Что цель только для чтения атрибутов качества, если вы не можете установить его в конструкторе или во время выполнения? Что-то мне не хватает в Moose::Meta::Attribute? Есть ли способ установить его с помощью meta
?
$c->meta->get_attr('ext')->set_value('foo') # doesn't work either (attribute trait provided not class provided method)