Можем ли мы написать звездные программы в PowerShell? - PullRequest
0 голосов
/ 04 марта 2019

Я новичок в Power-Shell и практиковал некоторые программы.Пожалуйста, дайте мне знать, если я могу написать * программы на Powershell.Я знаю его инструмент сценариев и используется в системном администрировании.Чтобы понять основные, я пытаюсь этот сценарий.

Вот код, который я написал:

cls
for ($i = 1; $i -le 4 ;$i++)
{
for ($j = 1; $j -le $i; $j++){
write-host "*"
}

write-host "`n"
}

Желаемый результат:

*

* *

* * *

* * * *

Я получаю вывод как:

Actual Output

Может ли кто-нибудь помочь мне в этом.Ваша помощь будет высоко оценена.

решено

cls
for ($i = 1; $i -le 4 ;$i++)
{
for ($j = 1; $j -le 4 ; $j++){
write-host "*" -NoNewline
}

write-host "`n"
}

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Это много кода для этой задачи.PowerShell позволяет многими способами выполнять одинаковые или похожие задачи.Что касается ваших усилий, это можно легко упростить до одного лайнера.Не требуется запись-хост.

# Use the range operator, pipe to a ForEach with a string repeat '*' X times per the range number passed in.

1..8 | ForEach{('*')*$PSItem}

# Results
*
**
***
****
*****
******
*******
********

Обновление включает пустые строки.

Привет, Ли, да, и я пропустилнужна пустая строка.Легко фиксируется с помощью ...

# Use the range operator, pipe to a ForEach with a string repeat '*' X times per the range number passed in and a blank line for each pass
1..8 | ForEach{('*')*$PSItem + "`n"}

# Results

*

**

***

****

*****

******

*******

********
0 голосов
/ 04 марта 2019

решение, которое вы разместили, не работает для меня.[ хмурится ] это дало 4 строки по 4 звездочки, каждая из которых отделена от остальных одной пустой строкой.

эта версия использует цикл foreach, выполняет итерацию по нужному количеству строк, рисует линию, построенную с использованием умножения строк, вставляет одну пустую строку, а затем повторяется для каждой оставшейся строки в количестве строк,

$LineCount = 8
$LineChar = '*'

foreach ($LC_Item in 1..$LineCount)
    {
    Write-Host ($LineChar * $LC_Item)
    Write-Host
    }

вывод ...

*

**

***

****

*****

******

*******

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