內容

名稱

Test2::Util::ExternalMeta - 允許第三方工具安全地將元資料附加到您的執行個體。

說明

這個套件讓您可以定義一個明確且一致的方式,以允許第三方工具將元資料附加到您的執行個體。如果您的物件使用這個套件並匯入其方法,那麼第三方元資料就有安全的地方可以存放。

語法

package My::Object;
use strict;
use warnings;

use Test2::Util::ExternalMeta qw/meta get_meta set_meta delete_meta/;

...

現在開始使用

my $inst = My::Object->new;

$inst->set_meta(foo => 'bar');
my $val = $inst->get_meta('foo');

資料儲存在哪裡?

這個套件假設您的執行個體是已祝福的雜湊參考,如果不是,它將無法運作。它會將所有元資料儲存在物件雜湊的 _meta 金鑰中。如果您的物件在其底層雜湊中使用 _meta 金鑰,那麼就會發生衝突,您無法使用這個套件。

匯出

$val = $obj->meta($key)
$val = $obj->meta($key, $default)

這將取得指定 meta $key 的值。通常,當 $key 沒有值時,這將傳回 undef,但是,當沒有設定值時,您可以指定一個 $default 值來設定。

$val = $obj->get_meta($key)

這將取得指定 meta $key 的值。這沒有 meta()$default 負擔。

$val = $obj->delete_meta($key)

這將移除指定 meta $key 的值。舊的 $val 將會傳回。

$obj->set_meta($key, $val)

設定指定 meta $key 的值。

META-KEY 限制

Meta 鍵必須定義,並且在用作布林值時必須為 true。鍵不能是參考。您可以將參考 "$ref" 字串化以用作鍵,但此套件不會為您字串化。

來源

Test2 的原始碼存放庫可以在 http://github.com/Test-More/test-more/ 找到。

維護人員

Chad Granum <exodist@cpan.org>

作者

Chad Granum <exodist@cpan.org>

版權

版權所有 2020 Chad Granum <exodist@cpan.org>。

此程式是自由軟體;您可以根據 Perl 本身的相同條款重新散布或修改它。

請參閱 http://dev.perl.org/licenses/