arrays – 使用范围运算符分配给3D数组的切片

前端之家收集整理的这篇文章主要介绍了arrays – 使用范围运算符分配给3D数组的切片前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个三维数组.我想设置它的三个元素:

$array[$x][$y][0 .. 2] = (0,1,2);

但是perl告诉我:

Useless use of a constant (1) in void context

在数组上下文中:

@array[$x][$y][0 .. 2] = (0,2);

但是perl告诉我:

Syntax error near “][“

可能意味着它希望我给它两个索引然后分配给第三个维度作为一个单独的数组?但是,在this page上,在示例:使用数组切片分配下,它建议可以使用范围运算符分配给切片,其中它表示:

@array1[1..3] = @array2[23..25];

如何分配这样的数组切片,还是必须单独分配每个索引?

解决方法

你需要取消引用内部数组:

@{ $arr[$x][$y] }[ 0 .. 2 ] = (0,2);

猜你在找的Perl相关文章