gpt4 book ai didi

Perl:构造一个对象数组

转载 作者:行者123 更新时间:2023-12-04 17:26:54 26 4
gpt4 key购买 nike

部分相关于 this question但不同,因为这是关于构造函数调用......

我想创建一个包含固定数量对象的数组。

我可以这样做:

my @objects;
push( @objects, new MyPackage::MyObject() );
push( @objects, new MyPackage::MyObject() );
push( @objects, new MyPackage::MyObject() );
# ...

丑有几种。让它成为一个循环只是稍微好一点。

没有办法在 Perl 中创建(构造函数初始化的)对象数组吗?

事后问题:

我想要创建的这些“对象”实际上是 C 结构的 SWIG 生成的包装器,即没有“行为”的数据结构(除了 SWIG 生成的 getset 函数)。我只想将数组作为参数传递给 C 函数,该函数将为我填充结构;我是否需要调用构造函数,或者是否有使用 get 的快捷方式?之后读取结构内容的函数? (是的,我对 OOPerl 非常陌生......)

最佳答案

有不止一种简洁的方法可以做到:

my @objects = map { new MyPackage::MyObject() } 1..$N;

my @objects = ();
push @objects, new MyPackage::MyObject() for 1..$N;

关于Perl:构造一个对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7557350/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com