Write-Output
просто записывает объект в конвейер .Если вам нужно сообщение, отображаемое на экране, используйте Write-Host
.
Итак, чтобы разобрать, что здесь происходит, это было своего рода предварительным.Если вы раскомментируете строку, строка 'Uncomment this line and see what happens.'
и число 65
являются выходными данными функции, поэтому при вызове Bravo
переменная $y
больше не содержит только одно значение, а вместо этого массив 'Uncomment this line and see what happens.',65
.
Теперь операторы сравнения работают иначе, если левый операнд является массивом, а не скалярным значением.Если левый операнд является массивом, они просто возвращают все элементы из массива, где условие будет $true
.В этом случае, поскольку вы сравниваете с 65
, он вернет все элементы, равные 65
.Таким образом, результат уже не логический, а массив объектов (или, в данном случае, просто один объект) - 65
.