{
package Node;
sub new{
my ($class, $data) = @_;
return bless $data, shift;
}
}
{
package BinarySearchTree;
sub new{
my ($class, $val) = @_;
return bless Node->new({val => $val}), $class
}
sub right{
my $self = shift;
return $self->{right}
}
sub data{
my $self = shift;
return $self->{val}
}
sub insert{
my ($self, $val) = @_;
if ($val > $self->{val}){
$self->{right} = Node->new({val => $val})
}elsif($val < $self->{val}){
$self->{left} = Node->new({val => $val})
}
}
}
1;
当我使用这个包时
my $t = BinarySearchTree->new(5);
$t->insert(6);
print $t->right->data;
他给了我错误
可以找到方法&#39;数据&#39;通过包&#39; Node&#39;,如果我将方法数据移动到Node,它们工作正常。
我该如何修复它,或者重写这段代码。