|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Vyacheslav Ignatyuk 2:5020/400 26 Oct 2000 17:59:00 To : All Subject : Re: manual self destroying?! -------------------------------------------------------------------------------- "Konstantin Osipov" <develop@interpro.ru> wrote in message news:8t8u3u$ogc$1@ddt.demos.su... > <привет> > > У меня есть класс Persistent, у которого есть метод die(). Этот метод > удаляет объект из базы данных. Также его задача уничтожить реальный объект, > чтобы никто, не дай бог, не вызвал 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). Можно. И нужно: undef $o; (после $o->die, конечно) Vyacheslav Ignatyuk -- Отправлено через сервер Talk.Ru - http://www.talk.ru --- ifmail v.2.15dev5 * Origin: Talk.Ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6488b0618588.html, оценка из 5, голосов 10
|