perl - 如何对数组引用进行切片并在一行中返回一个数组引用?
问题描述
考虑以下代码行。我想对数组 ref $a 进行切片并将结果作为分配给 $b 的数组 ref 返回。如图所示,我可以用两行来做到这一点。我很难在一行中做到这一点!如何才能做到这一点?
$a = [1,2,3,4,5];
###the desired result###########################
@b = @{$a}[1 .. @{$a} - 1];
$b = \@b; # $b is [2,3,4,5]
################################################
###trying to get the desired result in one line##
$b = \@{$a}[1 .. @{$a} - 1]; # $b is \5;
$b = \{@{$a}[1 .. @{$a} - 1]}; # $b is \{ 2 => 3, 4 => 5 }
$b = $a->[1 .. @{$a} - 1]; # $b is 1
$b = $a->@[1 .. @{$a} - 1]; # $b is 5
解决方案
你可以说
$b = [ @{$a}[1 .. @{$a} - 1] ];
推荐阅读
- wordpress - 为什么我的所有代码块都添加了水平滚动条?
- laravel - laravel 中的密码确认规则失败
- javascript - 有没有办法在 jsfiddle 上创建 API 并通过 JS fiddle 代码调用相同的 API?
- java - ConcurrentHashMap 相同sagement 上的读写器线程时的性能
- sql - ORDER BY 多个变量
- python - 我无法从 IDLE 或 cmd 运行 python
- python - Python:在 mongodb 集合中插入 json 文档时出错
- arrays - 如何删除 excel 或 google sheet 中单词之间的多余空格?
- python - 无法模拟按键
- ios - 可区分数据源性能问题