|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Vladimir Pastukhov 2:5020/400 02 Oct 2001 19:09:12 To : All Subject : перегрузка оператора == -------------------------------------------------------------------------------- Hi, Пытаюсь тут изобразить нечто вроде use overload '==' => sub { my ($a, $b) = @_; return $a == $b if ref $a and ref $b; return ((ref $a ? $a->{name} : $a) eq (ref $b ? $b->{name} : $b)); }; Двух объектов с одинаковым name у меня быть не может, поэтому первый return добавлен для скорости - чтобы не лезть без необходимости в хэш. Проблема в том, что при выполнении $a == $b перл, естественно, уходит в глубокую рекурсию. Можно ли как-нибудь вызвать CORE::== или остается перегружать eq вместо == ? -- Vladimir Pastukhov <vlpast@mail.ru> --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6577b37308b4.html, оценка из 5, голосов 10
|