北大差生百度云:perl问题,到底哪里错了

来源:百度文库 编辑:高校问答 时间:2024/04/28 06:25:52
use strict;
package jiHe;
#############################################################################################
sub new
{
my $class=shift;
my @array=@_;
my $self={};
bless $self,$class;
$self->{yuanSu}=shift;
@{$self->{yuanSu}}=@_;
return $self;
}
###new

##############################################################################################
sub add
{
my $self=shift;
my $array=$self->{yuanSu};
@$array=(@$array,@_);
$self->{yuanSu}=$array;
}
##add

##############################################################################################
sub jiaoJi
{
my $self=shift;
my $jiHe2=$_[0];
my @jiaoJi;
my $ys;
my $i=0;
my $selfArray=$self->{yuanSu};
foreach (@$selfArray) #1.2.3.5.8
{
foreach $ys(@$jiHe2)#1.5.6.9
{
if(!($ys==$_ || $ys eq $_))
{
next;
}

$jiaoJi[$i++]=$ys;
last;

}
}
return @jiaoJi;
}
##jiaoJi

#############################################################################################
sub binJi
{
my $self=shift;
my $jiHe2=$_[0];
my $ys;
my $i=0;
my $selfArray=$self->{yuanSu};
my @binji=@$jiHe2;
foreach (@$selfArray)
{
foreach $ys(@$jiHe2)
{
if(!($_==$ys || $_ eq $ys))
{
next;
}
goto L;
}
$binji[$i++]=$ys;
L:
}
return @binji;
}
##buji

#############################################################################################
sub isZiJi
{
my $self=shift;
my $jiHe2=$_[0];
my $selfArray=$self->{yuanSu};
foreach (@$selfArray)
{
if(!isShuYu($_,$jiHe2))
{
return 0;
}
}
return 1;
}
##isZiJi

##############################################################################################
sub isShuYu
{
my $a=$_[0];
my $jihe=$_[1];
foreach (@$jihe)
{
if($a==$_ || $a eq $_)
{
return 1;
}
}
return 0;
}

##############################################################################################
sub yuanSu
{
my $self=shift;
return @{$self->{yuanSu}};
}
##yuanSu

1;