【发布时间】:2021-08-03 04:50:02
【问题描述】:
我最近一直在学习 Perl,遇到了一个有趣的问题。我将如何像这样在 map 中使用两个数组?
use warnings;
use strict;
use Data::Dumper;
my $names->{name} = ['Bill', 'Smith'];
my $cars->{model} = ['Honda', 'Toyota'];
my $obj = {
'Students' => [
map {
'Name' => $_,
'Model' => $_
}, @{$names->{name}}, @{$cars->{model}}
]
};
print Dumper $obj;
这会打印出来,它产生的对象比我想要的多。
$VAR1 = {
'Students' => [
{
'Model' => 'Bill',
'Name' => 'Bill'
},
{
'Model' => 'Smith',
'Name' => 'Smith'
},
{
'Model' => 'Honda',
'Name' => 'Honda'
},
{
'Model' => 'Toyota',
'Name' => 'Toyota'
}
]
};
我想做的是以产生这些结果的方式进行地图工作
$VAR1 = {
'Students' => [
{
'Model' => 'Honda',
'Name' => 'Bill'
},
{
'Model' => 'Toyota',
'Name' => 'Smith'
}
]
};
【问题讨论】:
标签: arrays perl dictionary