Рассмотрим этот код Powershell:
[System.Reflection.Assembly]::LoadWithPartialName(“System.Windows.Forms”)
Function MyFunction {
ShowMessageBox "Hello World" "Test"
return "Somevalue"
}
Function ShowMessageBox {
param (
[string] $message,
[string] $title
)
[Windows.Forms.MessageBox]::Show("$message", "$title", [Windows.Forms.MessageBoxButtons]::OK, [Windows.Forms.MessageBoxIcon]::Information)
return $null
}
$variable = MyFunction
Write-Host "The value of my variable is: $variable."
Я присваиваю переменную $ variable, в зависимости от того, что возвращается функцией «MyFunction», которая является строкой «Somevalue».
Перед возвратом этой строки я показываю окно сообщения.
Затем я печатаю значение переменной $. Это должно быть «Somevalue», но вместо этого я получаю следующее:
ОК Somevalue
Откуда это дополнительное "ОК"?