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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     20 Feb 2004  19:16:55
 To : Yury Kopyl
 Subject : Re: Кошерность вызова статик методов
 -------------------------------------------------------------------------------- 
 
 Yury Kopyl -> All  @ Fri, 20 Feb 2004 08:26:34 +0000 (UTC):
 
  YK> Hello, All!
 
  YK> К примеру есть такой код (все лишние детали убраны):
 
  YK> package MyClass;
 
  YK> sub test1{
  YK>     my $self=(ref($_[0]) eq __PACKAGE__)?shift:'';
 
 Совсем кошерно - 
 
 if (ref($_[0]) && UNIVERSAL::isa($_[0], __PACKAGE__)) { shift; }
 
 Hо обычно ограничиваются банальным if (ref($_[0])) { shift; }
 
  YK>     my (@args)=@_
  YK>    ....
  YK> };
 
  YK> sub test2{
  YK>     my $self=shift;
  YK>     my (@args)=@_;
  YK>    ....
  YK> };
 
  YK> sub new {bless{}};
 
  YK> package main;
 
  YK> my $c=new MyClass;
 
  YK> $c->test1(1);  # @args=(1) - ok
  YK> MyClass::test1(1); # @args=(1) - ok
  YK> MyClass->test1(1); # @args=('MyClass',1) - not ok
 
  YK> $c->test2(1); # @args=(1) -ok
  YK> MyClass::test2(1); # @args=() -not ok
  YK> MyClass->test2(1); # @args=(1) ok
 
  YK> Вот сижу и думаю, что будет кошерней. В идеале конечно чтобы
  YK> корректно работали 3 варианта вызова статичного метода. caller,
  YK> Devel::*, смотрел. Hе помогает
 
 -- 
 Artem Chuprina
 RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757
 --- ifmail v.2.15dev5.3
  * Origin: Leninsky 45 home network (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Кошерность вызова статик методов   Yury Kopyl   20 Feb 2004 12:26:34 
 Re: Кошерность вызова статик методов   Artem Chuprina   20 Feb 2004 19:16:55 
 Re: Кошерность вызова статик методов   Љ®­бв ­вЁ­ ’®Є а   20 Feb 2004 20:18:08 
 Re: Кошерность вызова статик методов   Artem Chuprina   20 Feb 2004 20:25:22 
 Re: Кошерность вызова статик методов   Yury Kopyl   20 Feb 2004 22:05:51 
 Кошерность вызова статик методов   Dmitry Suhodoev   21 Feb 2004 15:03:44 
 Re: Кошерность вызова статик методов   Artem Chuprina   21 Feb 2004 15:50:03 
 Кошерность вызова статик методов   Renat Araslanow   21 Feb 2004 00:00:33 
Архивное /ru.perl/11477a8e5cea3.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional