为什么Perl foreach变量赋值修改数组中的值?
发布时间:2020-12-15 21:14:55 所属栏目:大数据 来源:网络整理
导读:好的,我有以下代码: use strict;my @ar = (1,2,3);foreach my $a (@ar){ $a = $a + 1;}print join ",",@ar; 和输出? 2,3,4 有没有搞错?为什么这么做?这会永远发生吗?是$a不是一个本地变量?他们在想什么? 解决方法 Perl有很多这些几乎奇怪的语法,大大
好的,我有以下代码:
use strict; my @ar = (1,2,3); foreach my $a (@ar) { $a = $a + 1; } print join ",",@ar; 和输出?
有没有搞错?为什么这么做?这会永远发生吗?是$a不是一个本地变量?他们在想什么? 解决方法
Perl有很多这些几乎奇怪的语法,大大简化了常见的任务(比如迭代列表,以某种方式改变内容),但是如果你不知道这些任务的话可以帮助你.
$a被别名为数组中的值 – 这允许您修改循环内的数组.如果你不想这样做,不要修改$a. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容