內容

名稱

stable - 一旦我們知道它們是穩定的,實驗性功能就變得容易了

版本

版本 0.031

語法

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

說明

當關閉相關警告時,experimental 實用指令可以輕鬆開啟實驗性功能。如果您還不知道它的作用,您應該閱讀相關說明。

在程式碼中看到 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 實用指令存在於僅在已知其在執行 Perl 中的行為為其穩定行為時才開啟實驗性功能。

如果您嘗試使用在 Perl 執行版本中不穩定或不可用的實驗性功能,將會擲回例外。您還應該注意,您已要求您需要的 stable 版本!

如果沒有馬上明白原因,以下是部分說明

當然,這有點奇怪,但值得這麼做!此 pragma 的文件會告訴您需要哪個版本的 stable 才能使用各種功能。請見下方。

目前只有幾個「stable」功能

另請參閱

perlexperiment 包含更多有關實驗功能的資訊。

作者

Leon Timmermans <leont@cpan.org>

著作權和授權

此軟體的著作權為 Leon Timmermans 所有 (c) 2013。

這是自由軟體;您可以在與 Perl 5 程式語言系統相同的條款下重新散布或修改它。