perl - 如何将函数返回值从引用转换为数组?

标签 perl arrays reference

我有 Perl 代码:

sub f {
    return [1,2,3]
}

print f;

函数f返回对数组的引用,如何将返回值转换为数组而不需要额外的变量,就像这里一样?

sub f {
    return [1,2,3]
}

$a = f;
print @$a;

最佳答案

你只是想这样做吗?

print @{ f() };

您可以取消引用任何返回引用的内容。它不一定是变量。它甚至可以是很多代码:

print @{ @a = grep { $_ % 2 } 0 .. 10; \@a };

Perl v5.20 adds an experimental post dereference :

print f()->@*

关于perl - 如何将函数返回值从引用转换为数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/737831/

相关文章:

perl - 寻求 Perl 成语来检查 $self 是一个类或对象

javascript - 我怎样才能在 redux 中正确克隆 json 数组?

java - 将一个字符串数组与多个字符串数组进行比较的算法

c++ - 垃圾收集在内存中移动引用的对象会破坏 Unreal4 引擎中的引用吗?

reference - 什么是软件开发引用的最佳在线图书服务?

xml - 为什么 XML :Simple complain that "No element found"?

linux - Perl 一个衬垫可以在具有特殊字符的许多不同值上匹配路径中的精确单词

JavaScript 数组和闭包

arrays - 如何获取对数组子集的有效可变引用?

mysql - 加入一个表的搜索结果 "belongs_to"另一个