【发布时间】:2021-01-22 02:29:44
【问题描述】:
这里的hash2属性依赖于hash1。事实上,hash2 是由 hash1 驱动的。例如,
hash1 -> key1 => value1, key2 => value2 等等。
hash2 -> key1 => 6, key2 => 6 etc. 它是长度(来自 hash1 的值,去 hash2)
尝试了以下类似的方法,但没有帮助。
has 'hash1' => (
is => 'rw',
isa => 'HashRef[Str]',
default => sub { {} },
handles => {
map { $_ . '_hash1' => $_ } @hash_delegations
},
);
has 'hash2' => (
is => 'rw',
isa => 'HashRef',
builder => '_filter_hash1',
handles => {
map { $_ . 'hash2' => $_ } @hash_delegations
},
);
sub _filter_hash1 {
my $self = shift;
for my $alias ($self->keys_hash1()) {
return {$alias, length($alias)};
}
}
Hash1 将随着时间的推移设置,不确定如何确保我应该如何捕获 hash1 上的事件以更新 hash2 中的条目。知道如何实现这一目标吗?
【问题讨论】: