28 мая 2014 г., 15:38 пользователь Андрей Фёдоров <[email protected]> написал: > Передать строку > > use overload '""' => 'to_string';
Точно... И вообще, perldoc overload ;) > > 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 > -- Best regards, Ilya Chesnokov -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
