5

我最近一直在使用数组,真的很想念 Python 的“in”运算符。

例如:

if ("hello" in ["hello", "there", "sup"]):
    print "this prints :)"

我通过创建一个“ThereExists-Object”函数来弥补它,如下所示:

function ThereExists-Object([System.Management.Automation.ScriptBlock] $sb)
{
    return ($input | where $sb) -as [bool]
}
New-Alias -Name ThereExists -Value ThereExists-Object

例如:

if ($arrayOfStuff | thereexists { $_ -eq "hello" } )
{
    write-host "this prints too"
}

显然我也可以为此定义另一个函数......但我想知道是否有一些我不熟悉的语法糖可以完成这项工作。

那么……有吗?

4

2 回答 2

9
$arrColors = "blue", "red", "green", "yellow", "white", "pink", "orange", "turquoise"
$arrColors -contains "black" 
False
$arrColors -contains "blue"
True

来源:http ://technet.microsoft.com/en-us/library/ee692798.aspx

于 2012-04-11T01:32:20.220 回答
3

从 Powershell v3.0 开始,您可以使用-in运算符本身:

PS> "hello" -in "hello", "there", "sup"
True
PS> "hell" -in "hello", "there", "sup"
False
于 2012-04-11T03:46:49.587 回答