Массивы PowerShell: как их создавать и использовать
Переменные — это самая основная структура данных в любом типе кодирования(any type of coding) . Но одной переменной вряд ли достаточно для большинства целей, особенно при работе с более сложными алгоритмами.
Вот тут-то и появляются массивы. Будь то C++ или Python , массивы в той или иной форме присутствуют в каждом языке программирования. Но как насчет Windows PowerShell ? Как работают массивы PowerShell ? Как вы их используете? Каков их синтаксис? Давай выясним.
Массивы PowerShell 101
Проще(Simply) говоря, массив — это просто структурированный набор переменных. Идея состоит в том, чтобы избавиться от хлопот, связанных с отслеживанием десятков имен, путем объединения связанных переменных в пронумерованный набор.
В PowerShell вы можете создать переменную, добавив символ $ перед именем переменной. Например:
$prime = 13
Переменная может содержать данные любого типа, от чисел до строк. Вам просто нужно использовать двойные или одинарные кавычки, чтобы указать строку.
$name = “Levin”
Теперь, чтобы создать новый массив, просто присвойте одной и той же переменной несколько значений, разделенных запятыми. Как это:
$week = “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”
Некоторые люди предпочитают явно приводить переменную к массиву, чтобы избежать путаницы, хотя в этом нет необходимости. Для этого поместите значения в круглые скобки, начав с символа @.
$week = @(“Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”)
Обычно это удобно, когда вы пытаетесь поместить вывод других команд в массив, где вы не можете вручную записать их в правильном формате.
Создание массива
Мы уже видели наиболее распространенный метод создания массива. Но в зависимости от ситуации есть и другие способы, которые могут оказаться более подходящими. Например, если вы хотите создать массив, содержащий диапазон чисел, вы можете использовать оператор диапазона:
$digits = (0..9)
Это создаст массив из всех десяти цифр от нуля до девяти. Вы также можете инициализировать пустой массив, если вам просто нужно место для хранения значений позже.
$values = @()
Несколько(Multiple) массивов можно даже вкладывать друг в друга, хотя такой способ использования может очень быстро привести к путанице.
$coordinates = @(
(5, 10, 23),
(11, 7, 16)
)
По умолчанию в массиве может храниться переменная любого типа, будь то числа, строки или сочетание того и другого. Но вы можете явно определить тип, если хотите ограничить значения, помещаемые в него. Например:
[int[]] $numbers = 2,3,4,5
Таким образом, массив может содержать только целые числа. Попытка присвоить ему любой другой тип значения вернет ошибку. Это может быть полезно для предотвращения простых ошибок для массивов, работающих исключительно с числовыми значениями, поскольку ввод строки в переменную, которая будет использоваться в вычислениях, создаст проблемы.
Доступ к массивам
До сих пор мы видели несколько методов для создания массивов, содержащих различные типы данных. Но как вы собираетесь получить доступ к этим данным?
Массивы PowerShell(PowerShell) используют тот же формат, что и другие языки программирования. К каждой переменной массива можно получить доступ по ее порядковому номеру. Например:
$var = $numbers[5]
Это скопирует значение, хранящееся в пятом индексе массива $numbers , в переменную $varОбратите внимание, что индексы массива начинают отсчет с 0, поэтому доступ к первому элементу осуществляется с нуля.
Если бы мы должны были вывести это, например:
“$days[2]”
Мы получим среду, а не вторник.
Вы можете использовать этот же метод для изменения этих значений. Например, следующая команда изменит второй элемент массива на ноль:
$numbers[1] = 0
Вы также можете добавить дополнительные элементы в существующий массив вместо изменения значений текущих записей, просто добавив их, как арифметическое выражение.
$names += “Johny”
Этот метод можно использовать для одновременного добавления нескольких записей или даже целых массивов.
$names += “Charlie, Liam, Teresa”
$names += $surnames
Метод с разделителями-запятыми также подходит для доступа к нескольким элементам массива. При вводе этого, например, первые пять элементов $days сохраняются в $weekdays .
$weekdays = $days[0,1,2,3,4]
Итерация по массивам
Ручной доступ к определенным элементам массива — это хорошо, но если вы хотите выполнять действия со всем содержимым массива, это может стать утомительным. Более элегантный подход — использовать цикл For.
Циклы for могут систематически проходить по всем элементам массива, обрабатывая каждое значение в соответствии с инструкциями. Вот как вы можете построить такой цикл:
For ($i = 0 ; $i -lt $days.Length ; $i++){
$days[$i]}
Функция array.Length возвращает размер массива, который в основном представляет собой количество элементов в нем. Его можно подключить к параметру тестового выражения цикла For, чтобы полностью перебрать все элементы.
Цикл Foreach и цикл Foreach -object могут делать то же самое с еще более компактным сценарием PowerShell .
Foreach ($day in $days){
$day}
Это избавляет вас от необходимости определять размер массива, оставляя детали для обработки PowerShell .
Когда следует использовать массивы PowerShell(PowerShell Arrays)
Самый большой источник ошибок в сложном скрипте — неправильные ссылки на переменные. Происходит это из-за наличия большого количества переменных с уникальными именами, что затрудняет запоминание их назначения.
Самое простое решение этой проблемы — активно использовать массивы. Все переменные, связанные каким-либо образом, могут быть назначены одному массиву и доступны через их порядковые номера.
Основным вариантом использования Microsoft PowerShell(Microsoft PowerShell’s) является автоматизация, и массивы играют в этом ключевую роль. Объекты, возвращаемые командлетами PowerShell , могут храниться в массивах и повторяться. Это позволяет автоматически выполнять последовательные задачи, что значительно упрощает администрирование системы.
Related posts
Как создать и использовать USB-накопитель для восстановления Windows 11
Как Delete или создать запланированную задачу с PowerShell в Windows 11
Почему мой компьютер не совместим с Windows 11? Use WhyNotWin11!
Как добавить контекстное меню «Создать точку восстановления» в Windows 11
PowerShell против командной строки: плюсы и минусы
Как добавить или удалить папки из Windows 10/11 Start Menu
Системные требования Windows 11: функция-мудрый Minimum Hardware
Windows 11 Release Date, Price, Hardware Requirements
Как включить или отключить текстовые предложения в Windows 11
Checkit Tool скажет вам, почему ваш компьютер не поддерживает Windows 11
Как установить разные обои на разных рабочих столах на Windows 11
Этот компьютер не может запустить Windows 11 - исправить его!
Как показать или скрыть Наиболее часто используемые приложения в Start Menu на Windows 11
Не может переключить Windows Insider Channel на Windows 11 - Dev или Beta
Как открыть Windows Tools в Windows 11
Как изменить Taskbar size на Windows 11
Click здесь, чтобы войти в ваши последние сообщения сообщения в Windows 11
Как включить или отключить динамический Refresh Rate (DRR) в Windows 11
Stop minimizing Windows Когда монитор отключен на Windows 11
Как ускорить Windows 10 и сделать его запустить Start, Run, Shutdown faster