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
键,则会发生冲突,您将无法使用此包。
这将获取指定元 $key
的值。通常,当 $key
没有值时,这将返回 undef
,但是您可以指定一个 $default
值,以便在没有设置值时设置它。
这将获取指定元 $key
的值。这没有 meta()
的 $default
开销。
这将删除指定元数据 $key
的值。旧的 $val
将被返回。
设置指定元数据 $key
的值。
元数据键必须定义,并且在用作布尔值时必须为真。键不能是引用。您可以自由地将引用 "$ref"
字符串化以用作键,但此包不会为您字符串化它。
Test2 的源代码仓库可以在 http://github.com/Test-More/test-more/ 找到。
版权所有 2020 Chad Granum <[email protected]>。
本程序是自由软件;您可以根据与 Perl 本身相同的条款重新发布和/或修改它。
参见 https://dev.perl5.cn/licenses/