arrays - 如何从数组中的每个元素创建对象?

标签 arrays perl reference module

我有一个带有新构造函数的模块:

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/

相关文章:

c - 如何读取数组中int的随机数

perl - Mechanize 以跟随元刷新链接

使用预定义参数引用 C++ 函数

用于唯一对象实例的 Java Map?

c++ - 是否可以在 C++ 中创建对象数组队列?

javascript - 从数组中查找 parent 和 child

c - float 数组上的 memset 未将数组完全清零

perl - Perl 中 "@"和 "$"的区别

用于在行范围内替换的 perl 习语(类似 sed)

c++ - 如何通过引用或指针将 `int` 和 `unsigned int` 成员传递给同一个函数?