为什么在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中获取单个值的一部分原因. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |