Масиви у Windows PowerShell, частина 2, вебісторій

Продовжуємо розмову про масиви у Windows PowerShell. У попередній частині ми говорили про звернення до елементів масиву. Сьогодні поговоримо про операції з масивом.

Операції з масивом

За замовчуванням усі масиви PowerShell є поліморфними, тобто. здатні містити у собі елементи різних типів.

Давайте створимо масив $a , що складається, наприклад, із трьох елементів 1 , 2 і 3 . І перевіримо його тип практично.

Отже, як бачимо, щоб подивитися тип масиву $a, нам потрібно набрати

і побачимо, що це масив типу System.Object[] . Такі масиви можуть містити всі типи об'єктів.

Ми можемо створити масив із жорстко заданими елементами одного типу. Для цього при створенні масиву перед його ім'ям потрібно прописати у квадратних дужках потрібний тип змінних.

Якщо ми спробуємо перезаписати значення елемента такого масиву на щось невідповідне, ми побачимо таке повідомлення про помилку:

Тепер поговоримо про те, як можна змінювати існуючі масиви.

Наприклад, наш масив $a має три елементи, якщо ми спробуємо звернутися до елемента, що виходить за межі масиву, PowerShell просто проігнорує нас. А якщо ми спробуємо змінити значення неіснуючого елемента, нас зустріне повідомлення про помилку.

Якщо потрібно збільшити довжину масиву, ми можемо використовувати оператори + або += .

За фактом, в даному випадку ми не додали елементи до існуючого масиву, а створили новий, який був скопійований вміст старого масиву і додані нові елементи.

За тією ж логікою ми не можемо видалити елементи вже з існуючого масиву, але ми можемо створити новий масив і скопіювати туди всі елементи, крім непотрібних.

Об'єднати масиви досить легко.

Для видалення масиву потрібно скористатися командлетом Remove-Item (псевдонім del) і видалити масив із віртуального диска variable. Нижче приклад видалення масиву $a.

І останнє, що треба знати про масиви. Якщо ми просто використовуємо оператор присвоєння ( = ), новий масив буде своєрідним посиланням на попередній. Наприклад, $b=$a створює масив $b , який посилається на $a . Якщо змінимо значення елементів масиву $a , вони зміниться й у $b . Це правило стосується масивів, отриманих з об'єднання інших.