Chinaunix首页 | 论坛 | 博客
  • 博客访问: 25596
  • 博文数量: 13
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 130
  • 用 户 组: 普通用户
  • 注册时间: 2014-01-05 16:13
文章分类
文章存档

2016年(1)

2014年(12)

我的朋友

分类: PERL

2014-01-07 21:05:09


1.3.1 问题描述

希望交换两个表里变量的值,但是不想通过临时变量来实现

1.3.2  解决方案

使用列表赋值对变量出新排序

($VAR1, $VAR2) = ($VAR2, $VAR1);

1.3.3 讨论

当需要交换两个变量的值时,大多数编程语言需要一个中间步骤:

$temp    = $a;

$a       = $b;

$b       = $temp;

但是在Perl中完全不用如此:

$a       = "alpha";

$b       = "omega";

($a, $b) = ($b, $a);  #  $a=”omega”,$b=”alpha” 
不仅如此,用同样的方式可以完成多个变量值得交换 

 ($alpha, $beta, $production) = qw(January March August);

# move beta       to alpha,

# move production to beta,

# move alpha      to production

($alpha, $beta, $production) = ($beta, $production, $alpha);

当以上代码完成后,$alpha, $beta, $production的值分别变成“March”,“August”,和“January

1.3.4  其他

该部分内容可参阅perldata1)的List Value constructors Programming Perl 第二章的的List Values and Array的内容

阅读(355) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~