1
Moosedocumentation говорит, что я могу делегировать объекту thing
достаточно легко.Как я могу делегировать субобъект объекта с помощью ручек Moose?
has 'thing' => (
...
handles => { set_foo => [ set => 'foo' ] },
);
# $self->set_foo(...) calls $self->thing->set('foo', ...)
Но я действительно хочу, чтобы делегировать объект на вещи, в частности, объект DateTime
has 'thing' => (
...
handles => {
get_month => { datetime ... },
},
);
# $self->get_month calls $self->thing->datetime->month;
как бы я должен построить ручки, чтобы заставить его сделать это?
На этом этапе вы уже пишете метод самостоятельно и можете также отбросить декларацию 'handles' и просто написать' sub get_month' вручную. – rafl
@rafl, Вы могли бы это сделать, но я не согласен с тем, что лучше его переместить. В частности, запись его в качестве делегата передает читателю информацию о том, что вы не получите иначе. – ikegami
У меня также есть другие ручки на том же объекте, который не требовал такого уровня глубины ... так что это все равно ставит их всех в одно и то же место. – xenoterracide