perl中,的bless,ref函数

Perl: Bless略解

URL: http://www.elanso.com/ArticleModule/P0UAMlPUM6KzJhUKPpQmKzIi.html

例子2:bless函数与ref函数,以及hash

1. 构造函数是的子程序,它返回与名相的一个引用。将名与引用相合称“祝福”一个象,因建立该结合的函数名bless(),其

    bless YeReference [,classname]

   YeReference被“祝福”的象的引用,classname是可选项,指定取方法的包名,其缺省值为当前包名。

    建一个构建函数的方法返回已与该类结合的内部构的引用,如:

    sub new {

      my $this = {}; # Create an anonymous hash, and #self points to it.

      bless $this; # Connect the hash to the local package   return $this; # Return the reference to the hash.

    }

    1;

    {}建一个不含/值对的哈希表(即关联)的引用,返回赋给局域$this。函数bless()取出引用,告诉对象它引用的是当前包,最后返回引用。函数的返回值现在指向个匿名哈希表。

    new()函数返回后,$this引用被销毁,但用函数保存了对该哈希表的引用,因此哈希表的引用数不会零,从而使Perl在内存中保存哈希表。象可如下用:

    $cup = new Cocoa ;

2.ref($var),如果$var一个引用,ref函数返回背用的象名。如果$var不是一个引用,ref函数返回undef

3.my $self = {} #建一个空的匿名hash表的引用

4.my ($class, $name) = @_;等价于

my $calss = shift;

my $name = shift;

shift 的意思就是把整个 array 的第一个 value 取出,并将 array 度减一(有点像 pop out)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值