|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Yury Kopyl 2:5020/400 20 Feb 2004 12:26:34 To : All Subject : Кошерность вызова статик методов --------------------------------------------------------------------------------
Hello, All!
К примеру есть такой код (все лишние детали убраны):
package MyClass;
sub test1{
my $self=(ref($_[0]) eq __PACKAGE__)?shift:'';
my (@args)=@_
....
};
sub test2{
my $self=shift;
my (@args)=@_;
....
};
sub new {bless{}};
package main;
my $c=new MyClass;
$c->test1(1); # @args=(1) - ok
MyClass::test1(1); # @args=(1) - ok
MyClass->test1(1); # @args=('MyClass',1) - not ok
$c->test2(1); # @args=(1) -ok
MyClass::test2(1); # @args=() -not ok
MyClass->test2(1); # @args=(1) ok
Вот сижу и думаю, что будет кошерней. В идеале конечно чтобы корректно
работали 3 варианта вызова статичного метода. caller, Devel::*, смотрел. Hе
помогает
Yury Kopyl aka hrg | http://id.totem.ru | Только взял боец гитару, сразу
видно - гармонист...
--- ifmail v.2.15dev5.3
* Origin: IAC Samara-Internet, Ltd. (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/102775d866f60.html, оценка из 5, голосов 10
|