Windows Powershell Switch 循环
Switch本是多路分支的关键字,但是在Powershell中由于Switch支持集合,所以也可以使用它进行循环处理。下面举两个例子。
第一个将Foreach循环转换成Switch循环:
#使用Foreach循环
$nums=10..7
foreach($nin$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)-eq0}{"$_偶数"}
{($_%2)-ne0}{"$_基数"}
}
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
这是一个很新奇的效果,先记录在这里,后面有需要再来深度挖掘它。