Передать строку use overload '""' => 'to_string';
28 мая 2014 г., 15:37 пользователь Ilya Chesnokov <[email protected]>написал: > 28 мая 2014 г., 15:32 пользователь Харпалёв Иван > <[email protected]> написал: > > package Parent; > > use overload '""' => sub \&to_string; > > sub to_string {...} > > > > package Heir; > > use base 'Parent'; > > sub to_string; > > > > package main; > > print Heir->new(); #будет вызвана Parent::to_string, а не > Heir::to_string > > > > > > Что же делать?? (чтобы в родителе определять overload, а подменяя методы > в > > наследнике изменять поведение перегруженных операторов). > > Ну ты как бы явно даешь ссылку на функцию to_string() родительского пакета. > Что, если сделать так: > > use overload "" => sub { $_[0]->to_string() }; > > > > > > > > > С уважением > > Иван Харпалев > > > > > > -- > > Moscow.pm mailing list > > [email protected] | http://moscow.pm.org > > > > > > -- > Best regards, > Ilya Chesnokov > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org >
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
