perl – 如何检查是否使用对象调用方法调用子例程
发布时间:2020-12-15 23:34:14 所属栏目:大数据 来源:网络整理
导读:您可以使用以下示例中的两种语法调用子例程作为方法. 但您也可以不将其作为对象调用. #====================================================package Opa;sub opa{ $first= shift; $second= shift; print "Opa $first -- $secondn";}package main;# as obj
您可以使用以下示例中的两种语法调用子例程作为方法.
但您也可以不将其作为对象调用. #==================================================== package Opa; sub opa{ $first= shift; $second= shift; print "Opa $first -- $secondn"; } package main; # as object: Opa->opa("uno"); opa Opa ("uno"); # not as object Opa::opa("uno","segundo"); Opa::opa("Opa","uno"); #==================================================== 有一种方法,从子程序内部,知道“一般”,子接收了什么样的调用? 解决方法
您可以使用
Devel::Caller中的called_as_method.
use Devel::Caller qw( called_as_method ); sub opa{ print called_as_method(0) ? 'object: ' : 'class: '; $first= shift; $second= shift; print "Opa $first -- $secondn"; } 输出: object: Opa Opa -- uno object: Opa Opa -- uno class: Opa uno -- segundo class: Opa Opa -- uno (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |