整个“开关”功能是否已经成为实验?在没有将来版本的Perl破坏我的代码的情况下,我可以依赖它的某些部分吗?一般来说,将稳定的特性转变为实验的政策是什么?
背景
自5.10以来,use feature "switch"
一直使用Perl。从5.10到5.14,perlsyn
似乎表明这是一个稳定的、受支持的特性。
然而,从5.16开始,perlsyn
开始叫它“一个实验性的开关特性”,对于被认为是实验性的功能变得更加困惑。
文档的某些部分似乎表明有关该特性的所有内容都是实验性的:
在“开关”特性下,Perl获得实验关键字
given
、when
、default
、continue
和break
。
甚至还有一个关于关于给定和何时的实验细节的完整章节。
然而,perlsyn
也说“foreach
是设置拓扑器的非实验性方法”,并给出了一个示例,这似乎意味着foreach/when不是实验性的。
据我所知,“实验性”语言来自提交c2f1e22,它引用的RT #90926仍然没有给出多少上下文,即使与RT# 90906配对也是如此。
发布于 2012-12-14 11:53:02
整个“开关”功能是否已经成为实验?
不是的。一直都是。
Upd:哦,哇,也许我错了。我在5.10.0或.1中找不到提到这一点的地方。也许不是?或者他们忘了注意到了?不管怎样,他们似乎比我想象的还要糟糕!但根据我从那以后所看到的,我认为这一课已经学到了。(例如,我仍然认为values $ref
是个坏主意,但至少从第一天开始就被标记为实验性的。)
在没有将来版本的Perl破坏我的代码的情况下,我可以依赖它的某些部分吗?
从技术上讲,没有,虽然开发人员在向后兼容性方面总是很小心。
一般来说,将稳定的特性转变为实验的政策是什么?
我从来没见过这样的事。相反,将使用弃用过程。
迄今的变化:
given
正在从创建一个词法$_
转变为像5.18中的foreach循环那样本地化$_
(还是已经在5.16中发生了?)今后可能发生的变化:
https://stackoverflow.com/questions/13885188
复制相似问题