Windows Powershell Switch 循环

Switch 本是多路分支的关键字,但是在Powershell中由于Switch支持集合,所以也可以使用它进行循环处理。下面举两个例子。
第一个将Foreach循环转换成Switch循环:

代码如下:

#使用Foreach循环

$nums=10..7

foreach($n in $nums)

{

    "n=$n"

}

n=10

n=9

n=8

n=7

 

#使用Switch循环

$nums = 10..7

Switch ($nums)

{

Default { "n= $_" }

}

 

n= 10

n= 9

n= 8

n= 7

有时对集合的处理,在循环中还须条件判断,使用Switch循环可以一部到位,例如:

代码如下:

$nums = 10..7

Switch ($nums)

{

    {($_ % 2) -eq 0} {"$_ 偶数"}

    {($_ % 2) -ne 0} {"$_ 基数"}

}

 

10 偶数

9 基数

8 偶数

7 基数

PowerShell数组与switch语句,PowerShell中数组可以与switch语句结合,产生意想不到的效果。
PowerShell中数组可以与switch语句结合,产生意想不到的效果。

先看看例子:

代码如下:

$myArray = 1,5,4,2,3,5,2,5

Switch ( $myArray ) {

 1 { 'one' }

 2 { 'two' }

 3 { 'three' }

 4 { 'four' }

 5 { 'five' }

}

数组中的所有元素都是在1,2,3,4,5这个范围的。通过一个switch语句,把每个数字做一个翻译。
在switch之后会自动输出,所以,最终的结果就成了:

代码如下:

one

five

four

two

three

five

two

five

这是一个很新奇的效果,先记录在这里,后面有需要再来深度挖掘它。

相关推荐