Des*_*tar 2 arrays perl scalar list
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
Run Code Online (Sandbox Code Playgroud)
在get_array()方法中,我已经创建了一个数组,但我希望将其作为列表返回,以便根据列表规则而不是数组规则进行分配.当然,数组通常以更复杂的方式构建(不是直接从列表中构建).
我已经尝试过使用map,希望它会返回一个值列表,但这会给出相同的结果.与拆分/加入相同.
return map { $_ } @a;
return split /,/, join(",", @a);
Run Code Online (Sandbox Code Playgroud)
如何将数组转换为值列表?
函数可以使用wantarray来确定它们所处的上下文并相应地返回一些内容:
sub get_array {
my @a = ("one", "two");
return wantarray ? @a : $a[-1];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2862 次 |
| 最近记录: |