我有一个主要数组@major
,我想在给定数目的未成年数组中,通过设置我想要的切片数(假设4在这里,但我希望能够选择我想要的任何号码),这样的伪代码: (我知道这是不正确的,但它有点让你的想法)Perl:使用变量作为数组元素将主数组划分为更小的数组
@major = A,B,C,D,E,F,G,H,I,J
$slice = 4;
$arraySize = $#array + 1;
$slicesize = $arraySize/$slice;
@minor1 = @major[0..$slicesize]
@minor2 = @major[($slicesize+1)..(2*$slicesize)]
@minor3 = @major[((2*$slicesize)+1)..(3*$slicesize)]
@minor4 = @major[((3*$slicesize)+1)..(4*$slicesize)]
这里的目标是我希望能够改变初始数组@major
的这个大小和/或片数$slice
以及设置不同次要数组大小的所有值(($slicesize+1)
,(2*$slicesize)
等)。
我知道这看起来有点复杂,但我不知道以另一种方式公开它。 你有什么想法如何实现这一目标?
这可能是有趣的:http://search.cpan.org/~rehsack/List-MoreUtils-0.404/lib/List/MoreUtils.pm#part_BLOCK_LIST –
是的。我还建议,对于任何复杂的数据结构来说,要走的路都是制造一个对象。 – Sobrique