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

前端之家收集整理的这篇文章主要介绍了我如何用较短的名称调用Perl类?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在用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__ };

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

原文链接:https://www.f2er.com/Perl/171550.html

猜你在找的Perl相关文章