相关疑难解决方法(0)

为什么在访问Perl中的数组和哈希元素时需要$?

由于数组和散列只能包含Perl中的标量,为什么在访问数组或散列元素时必须使用$来告诉解释器该值是标量?换句话说,假设您有一个数组@myarray和一个哈希%myhash,为什么需要这样做:

$x = $myarray[1];
$y = $myhash{'foo'};
Run Code Online (Sandbox Code Playgroud)

而不只是做:

$x = myarray[1];
$y = myhash{'foo'};
Run Code Online (Sandbox Code Playgroud)

为什么上面的含糊不清?

如果除了那个地方的$之外,它不是非法的Perl代码吗?例如,Perl中的以下都不是非法的吗?

@var[0];
@var{'key'};
%var[0];
%var{'key'};
Run Code Online (Sandbox Code Playgroud)

arrays perl hash sigils

11
推荐指数
7
解决办法
2749
查看次数

在Perl中,使用@a [$ i]而不是使用$ a [$ i]访问数组元素有什么区别?

我遵循的基本语法教程没有说清楚:

使用前一个或后一个下标符号访问数组之间是否有任何实际/哲学/上下文相关/棘手的区别?

$ perl -le 'my @a = qw(io tu egli); print $a[1], @a[1]'

两种情况下的输出似乎相同.

syntax perl

4
推荐指数
2
解决办法
221
查看次数

标签 统计

perl ×2

arrays ×1

hash ×1

sigils ×1

syntax ×1