169 похожих чатов

Что-То я потерялся, видно давно не писал, как по нормальному

вызывается родительский метод пакета, в случае если мы имя пакета не передаем в сам метод? Я пока вижу так, но это не красиво:

package Parent;

sub qwe { my ($args) = @_; print "Parent::qwe\n"; }

package Child;

use base 'Parent';

sub qwe {
my ($args) = @_;

if (my $parent = __PACKAGE__->next::can) {
$parent->(@_);
}

print "Child::qwe\n";
}

9 ответов

4 просмотра

Только ручной работой с @ISA , насколько я понял вопрос. Во всяком случае, в проекте, в котором зачем-то (истерически) реализовали ручной диспатчинг методов мне пришлось делать так.

Warstone- Автор вопроса
Andrey Smirnov / 𝓪𝓵𝓵𝓽𝓮𝓻 /
Только ручной работой с @ISA , насколько я понял в...

Нет. Выше код, который это делает автоматом. Тут проблема в том что когда ты делаешь $self->SUPER::<sub> _всегда_ первым аргументом идет $self. А тут этого не надо.

Что-то не понял, что нужно тогда

Warstone- Автор вопроса
Andrey Smirnov / 𝓪𝓵𝓵𝓽𝓮𝓻 /
Что-то не понял, что нужно тогда

Чтобы не надо было писать этот уродский if...

Warstone- Автор вопроса
Andrey Smirnov / 𝓪𝓵𝓵𝓽𝓮𝓻 /
UNIVERSAL::can не то?

И на что вы это натравите? Выше, кстати, был пример с can.

Warstone
И на что вы это натравите? Выше, кстати, был приме...

На элементы @ISA и нужный метод. Но в любом случае для нормальной работы/обработки ошибки там if как у вас должен быть...

Warstone- Автор вопроса
Andrey Smirnov / 𝓪𝓵𝓵𝓽𝓮𝓻 /
На элементы @ISA и нужный метод. Но в любом случа...

Ну у вас еще и цикл появляется... о чем я и писал выше. Вот хотелось-бы это все внутрь XS'ов и одним методом

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
49
читать файл максимально быстро? странный вопрос))
zamtmn
53
How to create an OS in C? what to study?
Linus
18
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
@HemulGM Параметры у AddStream поменялись? Несостыковка какая-то
Катерина Свиридова
12
Подскажите, есть какие-то события создания/уничтожения у TFrame по типу TForm (OnCreate и OnClose/OnDestroy) ? Как отловить создание TFrame и "перед" уничтожением. На Tframe р...
Денис
8
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
а чем хуже?
Alexey Kulakov
10
Карта сайта