首页 > Web开发 > 详细

PowerShell中定义多个变量并赋值的例子

时间:2016-02-08 00:49:34      阅读:353      评论:0      收藏:0      [点我收藏+]

所谓赋值语句,小编在最早学C语言时就知道那就是“a=1;”。这么多年来,虽然语言在变,但赋值语句基本没变过。但今天在看一串PowerShell代码的时候,这种理念被推翻了。小编看到了多变量同时赋值的语句。

小编看到的语句是这样的:

复制代码 代码如下:
$a[0],$a[1]=$a[0],$a[1];

大家来猜猜它是什么意思?

其实很好猜,第一眼看上去就像是把$a[0]和$a[1]这两个数组元素颠倒。而事实上的效果也是这样的。难道说这就是两个变量互换值的语句吗?我们知道在传统的编程语言里面,要把两个变量的值交换,至少需要三个语句,还需要一个中间变量的。比如要把a与b的值交换,那么代码应该这样写:

复制代码 代码如下:
c=a;a=b;b=c;

这里的c是新增加出来的一个变量。这样看来,PowerShell还真TMD强大啊!

小编还异想天开的做了一些尝试,发现原来这个语法不仅仅颠倒两个值那么简单。比如:

复制代码 代码如下:

PS> $a=1,2,3
PS> $a[0],$a[1],$a[2]=$a[1],$a[2],$a[0];
PS> -join $a
231

看见没有,把数组元素的值,转了一圈。

小编还做了这样一个测试:

复制代码 代码如下:
PS> $a, $b=1,2
PS> $a
1
PS> $b
2

相当于是对照等号的前后,按顺序逐个赋值。很好理解吧!再看看下面这个:

复制代码 代码如下:
PS C:\Users\hong> $a, $b=1,2,3
PS C:\Users\hong> $a
1
PS C:\Users\hong> $b
2
3

哈哈,这个有趣了。前面是两个变量,后面是三个值。那PowerShell会把它们怎么办呢。根据结果所示,$a赋值了1,$b被当成了数组,赋值了2和3。

所以小编把这个语法称之为“多变量同时赋值”,就是把多个变量同时赋值,当然赋值中存在一些细节,已经在上面的例子中展示了。

最后有人一定想问,如果变量个数多于值的个数,会是什么样的结果呢?呵呵,看看:

复制代码 代码如下:
PS C:\Users\hong> $a, $b,$c,$d=1,2,3
PS C:\Users\hong> $d
PS C:\Users\hong>

PowerShell中定义多个变量并赋值的例子

原文:http://www.jb51.net/article/53425.htm

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!