【发布时间】:2014-06-02 02:15:08
【问题描述】:
我创建了一个函数,它生成一个随机矩阵并将其推入数组。
sub gen {
my $x = int(rand($_[0]-1)+1);
my $y = int(rand($_[1]-1)+1);
my $matrix = [ map [ map int(rand($_[2]-1)+1), 1..$x ], 1..$y ];
}
push (my @gen, gen(5,10,5))
我只想对每个数组中的元素进行排序:
sub sort {
foreach my $value (@gen) {
foreach (@$value) {
foreach my $_ (sort {$b <=> $a} @{$value}) {
print "$_";
}
print "\n";
}
}
}
它只给了我对数组的引用,但我认为它应该是标量。
输出:
ARRAY(0xdbef68)ARRAY(0xdbeef0)ARRAY(0xdbee78)ARRAY(0xdbee00)ARRAY(0xdbed88)
ARRAY(0xdbef68)ARRAY(0xdbeef0)ARRAY(0xdbee78)ARRAY(0xdbee00)ARRAY(0xdbed88)
ARRAY(0xdbef68)ARRAY(0xdbeef0)ARRAY(0xdbee78)ARRAY(0xdbee00)ARRAY(0xdbed88)
ARRAY(0xdbef68)ARRAY(0xdbeef0)ARRAY(0xdbee78)ARRAY(0xdbee00)ARRAY(0xdbed88)
ARRAY(0xdbef68)ARRAY(0xdbeef0)ARRAY(0xdbee78)ARRAY(0xdbee00)ARRAY(0xdbed88)
【问题讨论】:
-
你确定
int(rand($n-1)+1)做你想做的事吗?它生成从1到$n-1的随机整数。 -
我只是想避免创建空矩阵