perl - 是否可以根据数组的大小动态扩展标量分配?

标签 perl

所以,这是交易。我有一个数组,我们称之为

@array = ('string1','string2','string3','string4');

等等,等等。我无法知道数组有多大或内容是什么,特别是它是一个字符串数组。

我还有一个变量,需要根据数组的大小和内容进行更改。

这是该变量的简单分配示例,以及将生成分配的数组:
@array = ('string1','string2','string3');

$var = Some::Obj1(Some::Obj2('string1'),
                 Some::Obj2('string2'), 
                 Some::Obj2('string3'));

然后,例如,如果我有以下@array,
@array = ('string1','string2','string3','string4','string5');

我的任务需要如下所示:
$var = Some::Obj1(Some::Obj2('string1'),
                 Some::Obj2('string2'), 
                 Some::Obj2('string3'), 
                 Some::Obj2('string4'), 
                 Some::Obj2('string5'));

你们能想出任何方法可以实现这样的事情吗?

最佳答案

好吧,如果您只需要将一些字符串转换为对象内的对象列表......为什么不映射?

my @array = ('string1','string2','string3','string4','string5');
my $var = Some::Obj1(map { Some::Obj2($_) } @array);

关于perl - 是否可以根据数组的大小动态扩展标量分配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16993388/

相关文章:

perl - 什么时候预设哈希大小才有意义?

perl - 让Perl返回正确的退出代码

python - 将 printf 添加到文件中所有函数的开头

perl - $;$ 在 Perl 函数定义中是什么意思?

perl - 如何在两行中检查文件是否已成功打开

perl - 如何以 Mooseish 方式声明 2 个依赖属性?

python - Perl 正则表达式\U

perl - 如何在其他列之间插入列 (Perl Spreadsheet::WriteExcel)

perl - 将 perl 脚本的所有输出复制到文件中

c++ - 在我的代码中用 [] 替换 .at()