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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Konstantin Tokar                     2:5020/400     14 Oct 2003  15:19:15
 To : Mikhail Polykovsky
 Subject : Re: Снимите с ручника
 -------------------------------------------------------------------------------- 
 
 Mikhail Polykovsky wrote:
 
 >>>>>>>"MP" == Mikhail Polykovsky <glader@company.utk.ru> writes:
 >>>>>>
 > 
 > AM>  MP> Я написал класс, создал экземпляр. При отсутствии use strict все
 > AM>  MP> отлично работает. Если строки (2) и следующую за ней поменять
 > AM>  MP> местами, тоже все работает. А вот в таком виде, как ниже, выдает
 > AM>  MP> ошибку
 > 
 > AM>  AA> Hазови метод import по-другому. importFiles например.
 > AM>  MP> А! А почему без use strict работает??? Вызывает то, что нужно
 > 
 > AM> Hу это все равно что программу, которую выдаёт сообщение об ошибке,
 > AM> перенаправить в /dev/null, и говорить, что она "отлично работает".
 > 
 > Меня удивило то, что без strict нужная функция таки вызывалась.
 
 Ты в упор не интересуешься ответами. У тебя ошибка в том, что import 
 вызывается на один раз чаще, чем ты планировал, вот этот вызов (которого 
 ты не хочешь замечать) и порождает ошибку. Вот чуть модифицированный 
 твой текст, посмотри в каком порядке запускаются функции.
 
 -----------------------------------
 #!perl -w
 use Mod;
 
 $m=new Mod;
 
 -----------------------------------
 package Mod;
 #use strict;
 use Data::Dumper;
 sub new{
          warn('new');
          my $self = {};
          bless $self;
          return $self;
 }
 
 sub import{
          warn('import');
          my $self = shift;
          my $files = shift;
 
          return $self->set_err("Hе указан список файлов для импорта". 
 Dumper(@_))
                  unless $files;#                             (1)
 
          return Dumper($self, $files);
 }
 
 sub set_err{
          warn('set_err');
          my ($self, $msg) = @_;
 
          $self->{'_errstr'} = $msg;#                       (2)
          return ('='x70)."\n" . Dumper($self) .Dumper(caller()).("="x70);
 
          return undef;
 }
 1;
 --- ifmail v.2.15dev5
  * Origin: MTU-Intel ISP (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Re[2]: Снимите с ручника   Mikhail Polykovsky   13 Oct 2003 14:10:16 
 Re: Снимите с ручника   Alexey Mahotkin   14 Oct 2003 11:13:55 
 Re[2]: Снимите с ручника   Mikhail Polykovsky   14 Oct 2003 11:31:36 
 Re: Re[2]: Снимите с ручника   Dmitry Tsigelnik   14 Oct 2003 12:39:42 
 Re[4]: Снимите с ручника   Mikhail Polykovsky   14 Oct 2003 12:54:35 
 Re: Re[4]: Снимите с ручника   Dmitry Tsigelnik   14 Oct 2003 13:21:31 
 Re: Снимите с ручника   Konstantin Tokar   14 Oct 2003 15:19:15 
 Re[2]: Снимите с ручника   Mikhail Polykovsky   14 Oct 2003 15:52:56 
Архивное /ru.perl/280558f20fb5.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional