欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-05-08 09:45:48
所谓赋值语句,小编在最早学c语言时就知道那就是“a=1;”。这么多年来,虽然语言在变,但赋值语句基本没变过。但今天在看一串powershell代码的时候,这种理念被推翻了。...

所谓赋值语句,小编在最早学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>