|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/371.32 27 Oct 2000 15:36:01 To : ivrom@ant.ru Subject : Re: manual self destroying?! -------------------------------------------------------------------------------- >> У меня есть класс Persistent, у которого есть метод die(). Этот метод >> удаляет объект из базы данных. Также его задача уничтожить реальный iar> объект, >> чтобы никто, не дай бог, не вызвал save() для несуществующего объекта, >> поэтому die() вызывает DESTROY. >> Hо пока хоть одна ссылка на объект не вышла out of scope, объект не >> физически не уничтожается!-( >> >> Пусть есть такого рода код: >> >> my $o = new Object; # возвращает blessed reference >> $o->die(); >> >> $o->save if $o; # save - вызывается! >> >> Как сделать, чтобы $o не было определено? $o = $o->die(); поможет лишь >> отчасти (нельзя же убить все возможные ссылки на $o). iar> Можно. И нужно: undef $o; (после $o->die, конечно) Hе поможет. -- Счастливо! Ран. --- ifmail v.2.14.os-p7-tma3 * Origin: MemoNet (2:5020/371.32@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/1712117d6cdd0.html, оценка из 5, голосов 10
|