2017-09-21

猎数博客

数据挖掘,机器学习

perl之UNIVERSAL类和can方法

作者:江航 / 2011-05-25 / (阅读 1,821 次) /



今天看别人的perl代码,其中定义了几个函数是属于UNIVERSAL的,而且还有几个莫名其妙的没定义的函数can,随便拿个变量就开始调用。

翻翻Perl的文档,其中说到UNIVERSAL是属于perl的关键字,这是一个类,它是所有类的基类。它提供以下几个方法:isa,can。其中isa用来判断变量是否从某个类继承而来,can后面的参数则是一个方法,判断这个方法是否在这个类或者基类中被定义。另外你可以给UNIVERSAL添加新的方法。一旦给它添加了新的方法,所有的class都可以调用。

 

给UNIBERSAL添加新方法的例子:

sub UNIVERSAL::log()        
{        

my($self,$msg)=@_;       

print "$self: $msg\n";       

}

这样就可以在每个类中调用这个函数,并且log之前会把类名打印出来。



本文地址: http://www.bagualu.net/wordpress/archives/581 转载请注明






相关文章

  • perl中使用pipe(管道)( 4,560 )
  • perl重定向STDOUT( 2,828 )
  • 在perl中使用signal( 2,374 )
  • 利用GDB生成C程序的函数调用图( 2,209 )
  • 删除perl数组中的重复元素( 2,165 )
  • perl hash 排序( 1,828 )
  • perl之UNIVERSAL类和can方法( 1,821 )
  • perl中获取时间( 1,691 )
  • 正则表达式特殊字符(perl)( 1,674 )
  • nginx 下的cgi( 1,631 )
  • Leave a Reply

    您必须登录以发表评论,

    沪ICP备11036560号
    联系我: jianghang at bagualu.net