- 论坛徽章:
- 0
|
本帖最后由 buxoman 于 2013-08-06 21:38 编辑
对照着Programming Perl电子书,整了半天也没整出来,郁闷……
请高人指点
=======================================
很抱歉,说的太模糊了。下面我仔细描述一下我的想法。
-------------------------------------------------------------
我需要一个三维数组。第1维是固定64个元素,第2维是固定12个元素,第3维是固定2个元素。
形式如下:
@array[64][12][2].
我希望将第3维的2个元素初始化为(1000, 0),作为一个[min,max]范围来使用。
在程序运行过程中,我会去更新第3维的两个元素,用一个新的数值去更新,目的是捕捉更小的min, 更大的max。
如果新的min值比已有的小,就更新;
如果新的max值比已有的大,就更新。
程序运行结束后,可以将这个三维数组打印出来进行观察。
==================================
- my @gpr = ();
- for (my $i = 0; $i < 64; ++$i) {
- my @dim2array = ();
- for (my $j = 0; $j < 12; ++$j) {
- my @dim3array = (1000, 0);
- push @dim2array, \@dim3array;
- }
- push @gpr, \@dim2array;
- }
- for (my $i = 0; $i < 64; ++$i) {
- $gpr[$i][5][0] = 0;
- $gpr[$i][5][1] = 1000;
- }
- for (my $i = 0; $i < 64; ++$i) {
- print "r$i :\n";
- for (my $j = 0; $j < 12; ++$j) {
- print " \( $gpr[$i][$j][0] $gpr[$i][$j][1] \) \n";
- }
- }
- exit;
复制代码 |
|