我正在尝试Moose的示例:
has 'options' => (
traits => ['Hash'],
is => 'rw',
isa => 'HashRef[Str]',
default => sub { {} },
handles => {
set_option => 'set',
get_option => 'get',
has_no_options => 'is_empty',
num_options => 'count',
delete_option => 'delete',
option_pairs => 'kv',
},
);
我发现它的工作原理如下:
$self->set_option("step1", "Step 1");
printf ("Get option %s\n", $self->get_option("step1"));
但我认为如果去掉句柄,我可以像这样访问哈希元素:
$self->options->set("step1", "Step 1");
printf ("Get option %s\n", $self->options->get("step1"));
我需要在同一个类中有多个哈希表,如何使用访问器访问每个哈希表,例如:
$self->hash1->get("key1");
$self->hash2->get("key1");