加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 21:38:53 所属栏目:大数据 来源:网络整理
导读:由于数组和散列只能包含Perl中的标量,为什么在访问数组或散列元素时必须使用$来告诉解释器该值是标量?换句话说,假设你有一个数组@myarray和一个哈希%myhash,你为什么需要做: $x = $myarray[1];$y = $myhash{'foo'}; 而不是只是做: $x = myarray[1];$y =
由于数组和散列只能包含Perl中的标量,为什么在访问数组或散列元素时必须使用$来告诉解释器该值是标量?换句话说,假设你有一个数组@myarray和一个哈希%myhash,你为什么需要做:
$x = $myarray[1];
$y = $myhash{'foo'};

而不是只是做:

$x = myarray[1];
$y = myhash{'foo'};

为什么上述含糊不清?

如果不是Perl代码,那不是非法的Perl代码?例如,在Perl中不是全部都是非法的?

@var[0];
@var{'key'};
%var[0];
%var{'key'};

解决方法

切片不是非法的:
@slice = @myarray[1,2,5];
@slice = @myhash{qw/foo bar baz/};

我怀疑这是您需要指定是否要从hash / array中获取单个值的一部分原因.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读