Поведение функции Powershell в PowerShell ISE - PullRequest
0 голосов
/ 08 ноября 2018

Я пытаюсь запустить довольно простой код powershell: функцию с несколькими тестами для двух входных параметров: $ Location и $ Algo

Вот мой упрощенный код:

Function Get-Test ($Location,$Algo)
{
# Test if the function is called with input parameters or requests default parameters
echo "INPUT"
echo $Location
echo $Algo
  if ([string]::IsNullOrEmpty($Algo))
  {
  $UR2 = "UR2 DEFAUT"
  $UR4 = "UR4 DEFAUT"
  }
  Else
  {
  $UR2 = $Location
  $UR4 = $Aglo
  }
  echo "OUTPUT"
  echo $UR2
  echo $UR4
  echo "Why $ UR4 is EMPTY WHEN THERE IS NO DEFAULT VALUE ???"
}

Когда я запускаю этот код с вводом в $ Algo, мой первый «echo $ Algo» - это то, чего я ожидаю, но второй эхо-код $ UR4 пуст.

Я, наверное, упускаю что-то глупое ...

Philippe

1 Ответ

0 голосов
/ 08 ноября 2018

Ваша функция выглядит хорошо для меня.

Но в PowerShell разделитель переменных, вызывающий функцию, является пробелом, а не запятой. Может быть, это то, что вам не хватает.

Вызовите функцию следующим образом:

Get-Test "MyLocation" "MyAlgo"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...