Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: manual self destroying?!   Artem Chuprina   27 Oct 2000 15:36:01 
Архивное /ru.perl/1712117d6cdd0.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional