[Moscow.pm] overload в наследнике

Роман Юсуфханов r.yusufkhanov на gmail.com
Ср Май 28 05:15:13 PDT 2014


А что круто? Покажи на примере как ты сделал.

28 мая 2014 г., в 16:13, Харпалёв Иван <ivan.kharpalev на gmail.com> написал(а):

> Как всё круто оказывается!!!
> Спасибо!
> Perl рулит)
> 
> 
> 28 мая 2014 г., 15:42 пользователь Ilya Chesnokov <chesnokov.ilya на gmail.com> написал:
> 28 мая 2014 г., 15:38 пользователь Андрей Фёдоров
> <secrethost на gmail.com> написал:
> > Передать строку
> >
> > use overload '""' => 'to_string';
> 
> Точно... И вообще, perldoc overload ;)
> 
> >
> > 28 мая 2014 г., 15:37 пользователь Ilya Chesnokov <chesnokov.ilya на gmail.com>
> > написал:
> >
> >> 28 мая 2014 г., 15:32 пользователь Харпалёв Иван
> >> <ivan.kharpalev на gmail.com> написал:
> >> > 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
> >> > moscow-pm на pm.org | http://moscow.pm.org
> >> >
> >>
> >>
> >>
> >> --
> >> Best regards,
> >> Ilya Chesnokov
> >> --
> >> Moscow.pm mailing list
> >> moscow-pm на pm.org | http://moscow.pm.org
> >
> >
> >
> > --
> > Moscow.pm mailing list
> > moscow-pm на pm.org | http://moscow.pm.org
> >
> 
> 
> 
> --
> Best regards,
> Ilya Chesnokov
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
> 
> -- 
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org

----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20140528/4b9fe351/attachment-0001.html>


Подробная информация о списке рассылки Moscow-pm