Параметры и функции PowerShell

Это старый вопрос, но в случае, если это поможет кому-то еще: вы можете установить энергозависимое логическое значение, когда вызываете shutdown (), и каждая отправленная задача завершается, если это логическое значение задано до реального запуска. Это позволит задачам, которые действительно начали завершаться, но не позволит задачам, находящимся в очереди, начать свою фактическую деятельность.

5
задан Peter Mortensen 6 September 2018 в 19:01
поделиться

3 ответа

Проблема в том, что вам нужно преобразовать свой код в следующий

Repeat-string "x" 7

. В PowerShell каждый раз, когда вы помещаете группу значений внутри (), вы создаете массив. Это означает, что в вашем примере вы фактически передаете массив функции как единственный параметр.

17
ответ дан 18 December 2019 в 05:50
поделиться

Вот лучший способ, просто умножьте вашу (любую) строку на N повторов:

PS > function Repeat-String([string]$str, [int]$repeat) {  $str * $repeat }
PS > Repeat-String x 7
xxxxxxx

PS > Repeat-String JMarsch 3
JMarschJMarschJMarsch
6
ответ дан 18 December 2019 в 05:50
поделиться

Конечно, JaredPar прав.

Мне нравится использовать встроенную функцию диапазона .. для этого тоже: (обратите внимание, я начинаю с 1 вместо 0)

Function Repeat-String([string]$str, [int]$repeat) {
  $builder = new-object System.Text.StringBuilder
  1..$repeat | %{ [void]$builder.Append($str) }
  return $builder.ToString()
}

Repeat-string "x" 7
0
ответ дан 18 December 2019 в 05:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: