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

为什么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;

和输出?

2,3,4

有没有搞错?为什么这么做?这会永远发生吗?是$a不是一个本地变量?他们在想什么?

解决方法

Perl有很多这些几乎奇怪的语法,大大简化了常见的任务(比如迭代列表,以某种方式改变内容),但是如果你不知道这些任务的话可以帮助你.

$a被别名为数组中的值 – 这允许您修改循环内的数组.如果你不想这样做,不要修改$a.

(编辑:李大同)

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

    推荐文章
      热点阅读