我很好奇如何在我的代码中进一步使用IF语句逻辑。让我详细说明一下。
$a=1
$b=10000
if(($a=1) -or ($b=1))
{write-host ""} #Here, I want to write what ever variable was $true
#in the if statement above.... so I want it to
#write "1" which was $a and was $true in the if
#statement...
我可以写更多的逻辑来实现这一点,但我想知道if语句使用的值是否可以在代码中再次使用。我觉得有一个“隐藏”变量可能吗?
答案 0 :(得分:1)
($a=1)
通常是一个赋值语句。在Powershell中并非如此,但它确实看起来像一个bug。 Powershell进行比较的方法是使用-eq
。所以,
if(($a -eq 1) -or ($b -eq1))
现在,简单的解决方案有点不同。如果$a
和$b
恰好是1
,会发生什么?
$comp = 1 # Value to compare against
$a=1
$b=100
if($a -eq $comp) { write-host "`$a: $a" }
if($b -eq $comp) { write-host "`$b: $b" }
这种方法很容易理解,在大多数情况下比速度等其他因素更重要。