[Moscow.pm] дефолтные методы объекта и AUTOLOAD

Orlovsky Alexander nordicdyno на yandex.ru
Чт Мар 29 01:22:46 PDT 2012


Не используйте AUTOLOAD
1. Это медленно.
2. Его использование порождает более сложный код

Из руби, кстати его или уже выпилили или собираются. 

28.03.2012, 13:21, "Nick Knutov" <mail на knutov.com>:
> Есть ряд объектов, у которых есть заранее известный, но иногда
> меняющийся [в процессе разработки] список полей, для которых надо писать
> геттеры вида
>
> sub id { my $self = shift; return $self->{id}; }
>
> Или с логикой чуть посложнее, но это еще один список полей и полностью
> одинаковый код, кроме имени поля.
>
> Возникла мысль генерить эти методы из заранее определенного списка на
> этапе, например, загрузки модуля или компиляции кода. perldoc что?
>
> Альтернативный вариант - сделать то же самое через AUTOLOAD, вот только
> в гугле находятся несколько очень разных примеров, как это делается, и в
> каждом говорится, что примеров есть разные, но вот именно этот способ
> лучше и избавит от разных проблем и багов. So, как все же это надо делать?


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