【发布时间】:2011-12-22 11:42:17
【问题描述】:
我知道@array[0,2,6] 是一个包含多个值的数组。
我相信$scalar=3 是一个具有单个标量值的变量。
但是,$array[3, 4] 是什么?它是一个有两个值的标量变量吗?
【问题讨论】:
-
根据您的 cmets,我的书Learning Perl 可能对您有用。学习语言比猜测你看到的每一个新事物更容易。 :)
我知道@array[0,2,6] 是一个包含多个值的数组。
我相信$scalar=3 是一个具有单个标量值的变量。
但是,$array[3, 4] 是什么?它是一个有两个值的标量变量吗?
【问题讨论】:
【讨论】:
[ ] 创建一个数组和对该数组的引用,并返回该引用。此引用是它在Obj->new($filehandle, $foo) 中传递给new 的内容。
试试看:
perl -E '@ar = (10,11,12,42);say $ar[1,2,3]'
42
1,2,3 是一个列表。在标量上下文中,它返回其最后一个成员。
【讨论】:
[] 创建一个数组和对该数组的引用,并返回该引用。此引用是它在f($foo) 中传递给f 的内容。
-E 和 say 是在 Perl 5.10 中引入的。 perl -le'@ar = (10,11,12,42); print $ar[1,2,3]' 大致等价。