加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

我如何用较短的名称调用Perl类?

发布时间:2020-12-15 22:02:21 所属栏目:大数据 来源:网络整理
导读:我正在用OO写一个Perl模块Galaxy :: SGE :: MakeJobSH. 我想使用MakeJobSH- new()而不是Galaxy :: SGE :: MakeJobSH- new(), 或一些其他短名称.我怎样才能做到这一点? 解决方法 您可以建议您的用户使用 aliased模块来加载您的: use aliased 'Galaxy::SGE::
我正在用OO写一个Perl模块Galaxy :: SGE :: MakeJobSH.

我想使用MakeJobSH-> new()而不是Galaxy :: SGE :: MakeJobSH-> new(),
或一些其他短名称.我怎样才能做到这一点?

解决方法

您可以建议您的用户使用 aliased模块来加载您的:
use aliased 'Galaxy::SGE::MakeJobSH';
my $job = MakeJobSH->new();

或者您可以将名称导出为名为$MakeJobSH的变量;

use Galaxy::SGE::MakeJobSH;  # Assume this exports $MakeJobSH = 'Galaxy::SGE::MakeJobSH';
my $job = $MakeJobSH->new();

或者您可以导出一个返回您的类名的MakeJobSH函数:

use Galaxy::SGE::MakeJobSH;  # Assume this exports the MakeJobSH function
my $job = MakeJobSH->new();

我不知道这是一个伟大的想法,但是.人们通常不需要经常键入类名.

以下是您在上课中为最后两个选项所做的工作:

package Galaxy::SGE::MakeJobSH;

use Exporter 'import';
our @EXPORT = qw(MakeJobSH $MakeJobSH);

our $MakeJobSH = __PACKAGE__;
sub MakeJobSH () { __PACKAGE__ };

当然,您可能只想选择其中一种方法.我刚结合起来,以避免重复的例子.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读