+ -
当前位置:首页 → 问答吧 → Perl 面向对象编程函数调用的问题

Perl 面向对象编程函数调用的问题

时间:2011-01-25

来源:互联网

使用bless
我在一个成员函数里调用了另外一个成员函数
外层函数通过
$this = shift;获得对象的数据
内层函数如何获得?
外层函数要把这个$this以参数的形式传递过去?

作者: Icedmilk   发布时间: 2011-01-25

不知道你问的是不是这个意思:
$this->function_name(...);

不管啥问题,搞Perl OO还是把《Intermediate Perl》看遍吧。

作者: iambic   发布时间: 2011-01-25

Perl code
sub new
{
   my $class=shift;
   my $self={};
   bless($self,$class);
   $self->func();
   return $self;
}

作者: fibbery   发布时间: 2011-01-25

引用 1 楼 iambic 的回复:
不知道你问的是不是这个意思:
$this->function_name(...);

不管啥问题,搞Perl OO还是把《Intermediate Perl》看遍吧。

没时间学啦,手上有活干,只能用到什么查什么啊。

明白啦,我犯2了

我用了Dumper显示一个对象
以为bless $self之后
$self 指向的不是原来的hash了
实际上还是原来的hash吧

Dumper的输出:
$VAR1 = bless( {
  'LogHandle' => undef,
  'xml_file' => undef,
  'Prievew' => 'false',
  'xml_hash' => undef
  }, 'Controller' );

thanks

作者: Icedmilk   发布时间: 2011-01-25

我居然写出了

Function1($self, ....
这种格式

自己都笑了

作者: Icedmilk   发布时间: 2011-01-25