0
我有以下的功能,显示如果任何在array
的话都包含在string
:PowerShell的功能不执行如预期
function AnyOf ([string] $line, [string[]] $list)
{
Write-Output "AnyOf!"
foreach($item in $list)
{
if($line.Contains($item))
{
Write-Output "Found: $item"
return $true
}
}
return $false
}
这对它进行测试:
function main
{
[string[]]$a = @("user1", "user2")
$str = "user1 and user2"
$res = AnyOf($str, $a)
}
我期望它看到user1
和user2
打印出来,但没有打印。看起来好像函数没有被调用,因为Write-Output "AnyOf!"
从不执行。
然而,当我执行:
AnyOf($str, $a)
相反的:
$res = AnyOf($str, $a)
我可以看到,函数被调用,但迭代似乎并没有发生...我是什么做错了?