PowerShell Dizisi Parametreleri [Kılavuzun Tamamı]
Bazen bir diziyi PowerShell'deki bir işleve parametre olarak aktarmanız gerekebilir. Bu eğitimde PowerShell dizi parametreleri hakkında her şeyi açıklayacağım. PowerShell fonksiyonlarında dizilerin parametre olarak nasıl kullanılacağını birkaç örnekle inceleyeceğiz.
PowerShell Dizi Parametreleri
PowerShell'de diziler esnektir; tamsayılar, dizeler, nesneler ve hatta diğer diziler dahil her türden öğeyi tutabilirler.
PowerShell'de bir dizi bildirmek için bir değişkene virgülle ayrılmış birden çok değer atamanız yeterlidir:
$myArray = 1, 2, 3, 4, 5Bu kod satırı, beş tam sayı öğesi içeren bir $myArray dizisi oluşturur.
PowerShell'de Bir Diziyi Bir İşleve Aktarmak
PowerShell'deki bir işleve bir dizi aktarmak istediğinizde özel bir şey yapmanıza gerek yoktur; dizi değişkenini diğer parametrelerde olduğu gibi iletmeniz yeterlidir. Aşağıda dizi parametresini kabul eden bir fonksiyon örneği verilmiştir:
function Show-ArrayContents {
param([array]$numbers)
foreach ($number in $numbers) {
Write-Host $number
}
}
$myArray = 1, 2, 3, 4, 5
Show-ArrayContents -numbers $myArray
Bu örnekte, Show-ArrayContents işlevi bir dizi olması beklenen $numbers parametresini alır. İşlev daha sonra dizideki her öğeyi yineler ve onu ana bilgisayara yazdırır.
PowerShell betiğini VS kodunu kullanarak çalıştırdıktan sonra çıktıyı aşağıdaki ekran görüntüsünde görebilirsiniz.
İşlevler İçinde PowerShell Dizilerini Değiştirme
Bir diziyi bir fonksiyona ilettiğinizde orijinal diziye bir referans ilettiğinizi anlamak önemlidir. Bu, fonksiyon içindeki diziyi değiştirirseniz bu değişikliklerin fonksiyonun dışına da yansıtılacağı anlamına gelir. İşte bir örnek:
function Add-Element {
param([array]$numbers)
$numbers += 6
}
$myArray = 1, 2, 3, 4, 5
Add-Element -numbers $myArray
Write-Host $myArrayAdd-Element işlevi orijinal diziye bir öğe eklediğinden bu, 1 2 3 4 5 6 çıktısını verecektir.
PowerShell İşlevinden Dizileri Döndürme
PowerShell'deki işlevler de dizileri döndürebilir. Bu, bazı mantığa dayalı olarak bir öğe listesi oluşturmanız ve ardından bu listeyle işlevin dışında çalışmanız gerektiğinde kullanışlıdır. İşte bir örnek:
function Get-MultiplesOfTwo {
param([int]$maxNumber)
$multiples = @()
for ($i = 2; $i -le $maxNumber; $i += 2) {
$multiples += $i
}
return $multiples
}
$multiplesOfTwo = Get-MultiplesOfTwo -maxNumber 10
Write-Host $multiplesOfTwoBu işlev, belirtilen maksimum sayıya kadar ikinin katlarından oluşan bir dizi döndürür.
Gelişmiş Dizi Parametreleri
PowerShell ayrıca tek bir değeri veya bir değerler dizisini kabul edebilecek bir parametre tanımlamanıza da olanak tanır. Bu, parametre için [object[]] türü kullanılarak yapılır. İşte bir örnek:
function Display-Messages {
param([object[]]$messages)
foreach ($message in $messages) {
Write-Host $message
}
}
Display-Messages -messages "Single message"
Display-Messages -messages "First message", "Second message"Bu durumda, Görüntü Mesajları tek bir nesneyle veya bir dizi nesneyle çağrılabilir.
Çözüm
Bu PowerShell eğitiminde PowerShell dizi parametreleri ile ilgili her şeyi örneklerle detaylı bir şekilde anlattım.
