我有两个数组:
@foo = (1, 2, 3, 4);
@bar = ('A', 'B', 'C', 'D');
Run Code Online (Sandbox Code Playgroud)
如果我用mesh/ zip从中拉链List::MoreUtils,我得到这个:
@zipped = (1, 'A', 2, 'B', 3, 'C', 4, 'D');
Run Code Online (Sandbox Code Playgroud)
我该如何向后执行此操作,即从@zipped如何获取@foo和@bar?
列表::的Util ::对.
use List::Util 'pairs';
my @zipped = ('1', 'A', '2', 'B', '3', 'C');
my ($foo, $bar) = pairs @zipped;
Run Code Online (Sandbox Code Playgroud)
$foo和$bar将引用阵列含有('1'..'3')与('A'..'C')分别.
或者,如果有两个以上的数组,请使用List :: MoreUtils :: part:
use List::MoreUtils 'part';
my @zipped = ('1', 'A', 'a', '2', 'B', 'b', '3', 'C', 'c');
my $number_of_arrays = 3;
my $i = 0;
my @arrayrefs = part { $i++ % $number_of_arrays } @zipped;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
105 次 |
| 最近记录: |