我理解bless了,哈哈,给大家个例子。

我想问问
my $object = {"name" => "tom"};
# 先把"tom"变为人
bless($object, "person");
$object->sleep();
$object->study();

my $object = {"name" => "tom"};是什么意思啊? 是定义了一个名字为object的hash么?


QUOTE:
原帖由 risepp 于 2008-5-20 14:22 发表
我想问问
my $object = {"name" => "tom"};
# 先把"tom"变为人
bless($object, "person");
$object->sleep();
$object->study();

my $object = {"name" => "tom"};是什么意思啊? 是定义了一个名字为 ...

一个 hash reference
好东西.收了
把bless写到类的构造函数new里,更像c++了,bless本身返回的就是对该对象的引用,如下

#!/usr/bin/perl -w
{
    package person;
    use strict;
   
    sub new() {
        my ($class)=@_;
        my $attr={name=>"default name",age=>"0"};
        bless $attr,$class;   
    }
   
    sub sleep() {
            my ($self) = @_;
            my $name = $self->{"name"};
   
            print("$name is person, he is sleeping\n");
    }
   
    sub study() {
            my ($self) = @_;
            my $name = $self->{"name"};
   
            print("$name is person, he is studying\n");
    }
}

my $p=person->new;
$p->sleep;
$p->study;
真能挖
恩!高手!
之前一直不是很明白。看到大家的解析,觉得豁然开朗!
谢谢!
这个概念不是很简单吗。。。。


QUOTE:
原帖由 initialization 于 2007-8-28 11:29 发表
狂顶,很到位

时隔近一年,再占个位置,别了,perl.
什么叫做 时隔近一年,再占个位置,别了,perl. 。。。
你是不是换工作了。。。
传说中的人物

QUOTE:
原帖由 shhgs 于 2008-8-9 10:53 发表



说Perl是一种邪教一点都不过分吧。