内容

名称

stable - 实验性功能变得容易,一旦我们知道它们是稳定的

版本

版本 0.031

概要

use stable 'lexical_subs', 'bitwise';
my sub is_odd($value) { $value & 1 }

描述

The experimental pragma 使得在关闭相关警告的同时轻松打开实验性功能。如果你还不了解它,你应该阅读一下。

在代码中看到 use experimental 可能很吓人。事实上,它可能确实应该让人害怕!使用实验性功能的代码将来可能会出现问题,如果 Perl 开发团队决定需要修改实验。当实验变得稳定时,因为开发人员决定它们是成功的,与它们相关的警告就会消失。当这种情况发生时,它们通常可以通过 use feature 打开。

这很棒,如果你使用的是 Perl 版本,你想要的功能已经稳定了。但是,如果你使用的是旧版本的 Perl,你可能想要使用一个仍然会发出警告的实验性功能,即使使用它没有风险,因为后续版本的 Perl 具有该功能,并且现在已经稳定了。

以下是一个例子:postderef 功能在 Perl 5.20.0 中添加。在 Perl 5.24.0 中,它被标记为稳定。使用它将不再触发警告。该功能的行为在 5.20.0 和 5.24.0 之间没有改变。这意味着在 5.20 或 5.22 上使用该功能是完全安全的,即使它会发出警告。

在这种情况下,你可以非常合理地添加 use experimental 'postderef',但随意阅读的人可能仍然会担心看到它。stable pragma 存在于仅在已知其在运行的 Perl 中的行为是其稳定行为时才打开实验性功能。

如果你尝试使用在运行的 Perl 版本上不稳定或不可用的实验性功能,将抛出异常。你还要注意你已经要求了所需的 stable 版本!

如果原因不立即显而易见,这里有一些解释

当然,这有点奇怪,但它很值得!此 pragma 的文档会告诉您需要使用哪个版本的 stable 才能使用各种功能。请参见下文。

目前只有几个“stable”功能

另请参见

perlexperiment 包含有关实验功能的更多信息。

作者

Leon Timmermans <[email protected]>

版权和许可

此软件版权所有 (c) 2013 年 Leon Timmermans。

这是免费软件;您可以根据与 Perl 5 编程语言系统本身相同的条款重新分发它和/或修改它。