我有一个多维数组:接入子排列/打印第n个元素,每一个阵列
@multarray = ([ "one", "two", "three" ],
[ 4, 5, 6, ],
[ "alpha", "beta", "gamma" ]
);
我可以访问@multarray[0]
[
[0] [
[0] "one"
[1] "two"
[2] "three"
]
]
甚至@multarray[0][0]
"one"
但如何访问每个子数组的第一个子元素?类似于multarray[*][0]
这样产生的东西:
"one"
4
"alpha"
谢谢!
只是一个供参考:' @multiarray [0]'是一个单元素数组切片。 '$ multiarray [0]'正在访问数组中偏移量为零的标量。更喜欢后者的语法,除非你真的打算使用切片。请记住,在Perl中,* sigil *遵循我们正在使用的值的类型。因此,'$'用于单个标量,即使它是聚合数据类型的组件,例如散列或数组。 – DavidO
与DavidO的评论相关,请确保您总是'严格使用';'和'使用警告'全部';'。启用警告后,'@multarray [0]'会给出警告:“标量值@multarray [0]写得更好$ multarray [0]” – ThisSuitIsBlackNot
我建议您更喜欢'Data :: Dump'或'Data :: Dumper在格式化数据以便在问题中进行演示时,通过'Data :: Printer'。最后一个可以在命令提示符下用于个人使用,但它会增加额外的信息,这些信息可能会在上下文中混淆,尤其是对不熟悉该模块的用户。 – Borodin