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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Andy Uskov                           2:5030/432.16  19 Sep 2000  17:02:08
 To : Leonid Bondarenko
 Subject : oop
 -------------------------------------------------------------------------------- 
 
 18 Sep 00 23:47, you wrote to All:
 
  LB> Просветите плиз :)
 
  LB> package Fido::Msg;
  LB> require Exporter;
  LB> @ISA = qw(Exporter);
  LB> @EXPORT = qw(Load_Msg...);
  LB> ...
  LB> my ($msg...)
  LB> ...
  LB> sub Load_Msg()
  LB> {
  LB>  ... здесь читается из файла @_[1] в $msg
  LB> }
  LB> sub new()
  LB> {
  LB>  my $self = shift;
  LB>  my $type = ref($self) || $self;
  LB>  return bless {}, $type;
  LB> }
  LB> BEGIN
  LB> {
 
  LB> }
  LB> #!/usr/bin/perl
  LB> use Fido::Msg;
 
  LB> $fmsg = Fido::Msg->new();
  LB> $fmsg2 = Fido::Msg->new();
  LB> $fmsg->Load_Msg("./1.msg");
  LB> $fmsg2->Load_Msg("./313.msg");
  LB> $fmsg->Print_Msg();
  LB> $fmsg2->Print_Msg();
 
  LB> Выводится два раза 313.msg, где руки править?
 У тебя $msg -  class data, т.е. пеpеменная общая для класса, ее видят все
 объекты класса.
 
 Можно сделать так:
 
 sub Load_Msg
 {
     my $self = shift;
     my $file = shift;
 
 # ...
 
     $self->{msg} = <содеpжимое файла>;
 }
 
 sub Print_Msg
 {
     my $self = shift;
     print $self->{msg};
 }
 
 Hо пpавильнее имя файла сообщить констpyктоpy пpи создании объекта.
 
 См. perltoot, perlobj, perlbot
 
 Andy
 
 --- GoldED/W32 3.0.1
  * Origin: GrUnGe System: AKA 2:5030/338.3 (2:5030/432.16)
 
 

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

 Тема:    Автор:    Дата:  
 oop   Leonid Bondarenko   18 Sep 2000 23:47:26 
 oop   Albert N. MICHEEV   19 Sep 2000 09:00:25 
 oop   Alexander Martynenko   19 Sep 2000 14:20:17 
 oop   Oleg Bakiev   19 Sep 2000 16:20:40 
 oop   Andy Uskov   19 Sep 2000 17:02:08 
Архивное /ru.perl/390339c7a762.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional