I持って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)
を私は何を...私は関数が呼び出されることがわかりますが、反復が起きていないようです間違っている? 、PowerShellの機能を使用すると、標準的な慣習は、第二$<<nameOfFunction>> <<param1>> <<param2>>
ある
AnyOf $str $a
としての機能を呼び出します()
を使用して呼び出されていないすべての