У меня есть следующая функция, которая показывает, если любое из слов в качестве 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)
Я могу видеть, что функция вызывается, но итерация, кажется, не бывает ... Что я делать не так?