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)
我可以看到,函數被調用,但迭代似乎並沒有發生...我是什麼做錯了?