将数组转换为列表

唤醒
sub get_list {
    return ("one", "two");
}

sub get_array {
    my @a = ("one", "two");

    # need to convert @a to list
    return @a;
}

my $two = get_list(); # desired, assigns last item in list to scalar 
my $count = get_array(); # evaluates array in scalar context, returning a count

在get_array()方法中,我已经创建了一个数组,但是我想将其作为列表返回,以便它根据列表规则而不是数组规则进行分配。当然,通常以更复杂的方式构建数组(而不是直接从列表中构建)。

我尝试过使用map,希望它会返回一个值列表,但结果相同。与拆分/联接相同。

return map { $_ } @a;
return split /,/, join(",", @a);

如何将数组转换为值列表?

用户名

答案可以wantarray使意图明确,这很好。但是,如果您想要看起来更像魔术的东西,您可以将其称为“列出数组”以迷惑并打动人,那么可以用切片来做到这一点:

return @a[0..$#a];

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章