我正在尝试在 Perl 中创建一个名为 Gene 的容器类,它将存储由另一个类“Cis”创建的对象(例如 Gene1 将存储 Cis1a Cis1b Cis1c,而 Gene2 将存储 Cis2a Cis2b Cis2c)。这是我到目前为止所拥有的:
package Gene;
use Moose;
has 'bindingsites'=>(
isa=>'ArrayRef[Cis]',
is=>'rw',
default=>sub{[]},
package Cis;
use Moose;
has 'gene'=>(isa=>'Gene', is=>'rw', weak_ref =>1);
我正在查看其中一个Moose 食谱并尝试使用它,但我不完全确定这是我正在寻找的。使用它,我在 Gene 类中写了类似的东西:
sub Build{
my(&self,$params)=@_;
foreach my $bindingsite(@{$self->bindingsites}){
$gene->bindingsite($self)}}
但我不确定这是我需要做的,以及每个 Gene 类如何知道要存储哪些 Cis 对象。
提前感谢您的帮助