Perl是支持按返回类型重载函数的语言之一。按返回类型重载函数
简单的例子是wantarray()。
几乎没有好的模块在CPAN中可用,它扩展了这个wantarray()并为许多其他返回类型提供重载。这些模块是Contextual::Return和Want。不幸的是,我无法使用这些模块,因为这两个模块都无法使用perl 5.8.9版本(我无法升级这个perl版本)。
所以,我正在考虑编写自己的模块,如Contextual :: Return和Want,但使用非常少。我尝试了解Contextual :: Return和Want模块代码,但我不是专家。
我需要函数重载返回类型BOOL,OBJREF,LIST,SCALAR只。
请帮助我提供一些指导方针,我该如何开始。
我不知道,CPAN说你的perl版本应该适用于Contextual :: Return ...无论如何,提供一个额外的参数(context =>'BOOL')可能比简化一个额外的模块 – amon 2012-07-13 13:54:28
If你的Perl :: Critic不喜欢它,为什么你不添加一条规则,以便它知道如何正确处理这些情况? – simbabque 2012-07-13 13:59:44
这些规则由我们的客户执行。这是政策,cpan模块也应该通过perl批评严重性5,如果使用 – rpg 2012-07-13 14:03:49