Size: a a a

2020 December 18

АК

Алексей Клименко... in use Perl or die;
Ivan Bessarabov
Посмоти на "inside out object"
А-а, точно, я что-то насчёт этого читал.
источник

АК

Алексей Клименко... in use Perl or die;
Там ещё была пометка, мол, жёсткое легаси.
источник

IB

Ivan Bessarabov in use Perl or die;
Я не знаю практических задач зачем этим пользоваться
источник

SZ

Sergey Zhmylove in use Perl or die;
Алексей Клименко
Там ещё была пометка, мол, жёсткое легаси.
Легаси это то, что не поддерживается
источник

SZ

Sergey Zhmylove in use Perl or die;
Короче
источник

SZ

Sergey Zhmylove in use Perl or die;
Сделай там у себя в пакете my % hidden_values; и обращайся к ним через $hidden_values{$self}
источник

SZ

Sergey Zhmylove in use Perl or die;
Только надо не забыть деструктор сделать
источник

АК

Алексей Клименко... in use Perl or die;
Sergey Zhmylove
Только надо не забыть деструктор сделать
Так он не weak что ли?
источник

АК

Алексей Клименко... in use Perl or die;
Sergey Zhmylove
Сделай там у себя в пакете my % hidden_values; и обращайся к ним через $hidden_values{$self}
Это $self будет '{HASH 0xDEADBEEF}' ?..
источник

SZ

Sergey Zhmylove in use Perl or die;
Алексей Клименко
Так он не weak что ли?
Причем тут weak?
источник

SZ

Sergey Zhmylove in use Perl or die;
Алексей Клименко
Это $self будет '{HASH 0xDEADBEEF}' ?..
Ты по-моему уже разобрался, что такое хеш в скалярном контексте, да?)
источник

АК

Алексей Клименко... in use Perl or die;
Sergey Zhmylove
Причем тут weak?
Ну то есть, если я деструктор не вызову, потом путаница будет.
источник

АК

Алексей Клименко... in use Perl or die;
Стоп, или перловские деструкторы сами вызываются?
источник

SZ

Sergey Zhmylove in use Perl or die;
Алексей Клименко
Стоп, или перловские деструкторы сами вызываются?
Ват?
источник

АК

Алексей Клименко... in use Perl or die;
источник

АК

Алексей Клименко... in use Perl or die;
Вот этот DESTROY сам вызовется, или надо вручную?
источник

YK

Yegor K in use Perl or die;
сам
источник

АК

Алексей Клименко... in use Perl or die;
Тогда я попробую.
источник

VG

Vadim Goncharov in use Perl or die;
Алексей Клименко
А если у меня есть hashref, который bless на тип, и возвращается он из определённой функции – то я как-то могу добавить к нему локальное значение, которое не будет присутствовать в самом хеше? И которое будет обрабатываться в его ->методах.

Типа приватного поля. Или типа WeakMap, ключом к которому будет сам хеш. Или non-enumerable ключ в хеше создать, который даже Dumper видить не будет…
я работал в проекте (Деньги.mail.ru), где была применена такая техника (это называется inside out объекты) - и это ад в отладке, скажу я вам
источник

VG

Vadim Goncharov in use Perl or die;
мне в конечно итоге пришлось плюнуть, залезть в этот код (самописный местны был) и приделать копию из скрытого объекта в основной хэшреф, чтобы таки видеть все эти развесистые деревья в Dumper
источник