我有一个带有新构造函数的模块:
package myClass;
sub new
{
my $class = shift;
my $arrayreference = shift;
bless $arrayreference, $class;
return $arrayreference;
};
我想做这样的事情:
foreach $ref (@arrayref)
{
$array1 = myClass->new($ref);
}
$array1
每次都被重写,但我希望数组中的每个元素都有一个不同的对象名称(例如 $array1
、$array2
, $array3
等)
最佳答案
如果您使用复数数据结构(数组),则需要将结果存储到复数容器(或多个标量容器)中。常用的方法是使用 map
函数:
my @object_array = map {myClass->new($_)} @source_array;
如果您知道 @source_array
包含固定数量的项目,并且您想要每个对象的标量:
my ($foo, $bar, $baz) = map {myClass->new($_)} @source_with_3_items;
关于arrays - 如何从数组中的每个元素创建对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9571784/