首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Perl的原型有什么缺点吗?

使用Perl的原型有什么缺点吗?
EN

Stack Overflow用户
提问于 2015-08-05 16:16:21
回答 2查看 161关注 0票数 0

我将调用我的subs而不使用参数列表中的括号。例如,我想用

代码语言:javascript
复制
mypush \@list, $item;

而不是

代码语言:javascript
复制
mypush(\@list, $item);

为了做到这一点,我已经声明我的潜艇有一个原型。

代码语言:javascript
复制
sub mypush (+@) { push shift, @_ }

事实上,这也允许我做以下几点,但这只是一个额外的好处:

代码语言:javascript
复制
mypush @list, $item;

除了在代码中的任何地方使用原型之前都必须声明带有原型的子程序之外,在Perl中使用原型有什么严重的缺陷吗?

在我看来代码绝对更干净。但是,一般来说,原型会在哪里出错呢?我什么时候会后悔?

EN

Stack Overflow用户

回答已采纳

发布于 2015-08-06 09:37:05

最大的缺点之一是它使代码更难维护。很少有人知道Perl原型实际上做了什么,所以他们周围有很多猜测和货物剔除。

但是请注意,Perl5.20添加了一个子程序签名特性。它仍然是实验性的,但它真的很棒,和大多数人期望的原型所做的。而且,当我们添加类型约束时(哦,圣诞老人,请给我带来那些圣诞礼物--我保证我会做得很好!),我们会有我认为大多数人尝试用原型做的事情(用我编的一些语法):

代码语言:javascript
复制
sub foo (Int $foo, String $var, Int @array) { ... }
票数 5
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31837759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档