PowerShell Dizileri: Nasıl Oluşturulur ve Kullanılır

Değişkenler, herhangi bir kodlama türündeki(any type of coding) en temel veri yapısıdır . Ancak, özellikle daha karmaşık algoritmalarla uğraşırken, çoğu amaç için tek değişkenler pek yeterli değildir.

İşte burada diziler devreye girer. İster C++ ister Python olsun , diziler her programlama dilinde bir şekilde bulunur. Peki ya Windows PowerShell ? PowerShell dizileri nasıl çalışır? Onları nasıl kullanıyorsun? Onların sözdizimi nedir? Hadi bulalım.

PowerShell Dizileri 101

Basitçe(Simply) söylemek gerekirse, bir dizi yalnızca yapılandırılmış bir değişkenler topluluğudur. Buradaki fikir, ilgili değişkenleri numaralandırılmış bir kümeye daraltarak düzinelerce ismi takip etmenin zorluğunu ortadan kaldırmaktır.

PowerShell'de(PowerShell) , bir değişken adının başına $ sembolünü ekleyerek bir değişken oluşturabilirsiniz. Örneğin:

$prime = 13

Değişken, sayılardan dizelere kadar herhangi bir veri türünü içerebilir. Bir dize belirtmek için çift veya tek tırnak kullanmanız yeterlidir.

$name = “Levin”

Şimdi yeni bir dizi oluşturmak için, aynı değişkene virgülle ayırarak birden çok değer atamanız yeterlidir. Bunun gibi:

$week = “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”

Bazı insanlar, gerekli olmasa da, karışıklığı önlemek için bir değişkeni açıkça bir diziye dökmeyi tercih eder. Bunu yapmak için, değerleri @ sembolü ile başlayan parantez içine alın.

$week = @(“Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”)

Bu genellikle, diğer komutların çıktısını, bunları doğru biçimde manuel olarak yazamayacağınız bir diziye koymaya çalışırken işe yarar.

Dizi Oluşturma

Dizi oluşturmanın en yaygın yöntemini zaten gördük. Ancak duruma bağlı olarak, daha uygun olabilecek başka yollar da var. Örneğin, bir dizi sayı içeren bir dizi oluşturmak istiyorsanız, aralık operatörünü kullanabilirsiniz:

$digits = (0..9)

Bu, sıfırdan dokuza kadar tüm on basamaktan oluşan bir dizi oluşturacaktır. Daha sonra değerleri depolamak için bir yer istemeniz durumunda, boş bir diziyi de başlatabilirsiniz.

$values = @()

Bu tür bir kullanım çok hızlı kafa karıştırıcı olabilir, ancak birden çok(Multiple) dizi birbirine yuvalanabilir.

$coordinates = @(
    (5, 10, 23),
    (11, 7, 16)
)

Varsayılan olarak bir dizi, sayılar, dizeler veya her ikisinin karışımı gibi herhangi bir değişken türünü depolayabilir. Ancak, içine konan değerleri sınırlamak istemeniz durumunda açıkça bir tür tanımlayabilirsiniz. Örneğin:

[int[]] $numbers = 2,3,4,5

Bu şekilde dizi sadece tamsayıları tutabilir. Buna başka bir değer türü atamaya çalışmak bir hata döndürür. Bu, yalnızca sayısal değerlerle çalışan diziler için basit hataları önlemek için yararlı olabilir, çünkü hesaplamalarda kullanılacak bir değişkene bir dize girmek sorun yaratacaktır.

Dizilere Erişim

Şimdiye kadar çeşitli veri türlerini içeren diziler oluşturmak için birden çok yöntem gördük. Ancak bu verilere erişme konusunda nasıl bir yol izleyeceksiniz?

PowerShell dizileri, diğer programlama dilleri tarafından kullanılan biçimin aynısını kullanır. Her dizi değişkenine indeks numarası ile erişilebilir. Örneğin:

$var = $numbers[5]

$var değişkenindeki $numbers dizisinin beşinci dizininde saklanan değeri kopyalayacaktır . Dizi indekslerinin 0'dan saymaya başladığını unutmayın, bu nedenle ilk öğeye sıfır ile erişilir.

Örneğin bunun çıktısını alacak olsaydık:

“$days[2]”

Salı değil çarşamba alacağız.

Bu değerleri değiştirmek için de aynı yöntemi kullanabilirsiniz. Örneğin, aşağıdaki komut dizinin ikinci öğesini sıfıra değiştirecektir:

$numbers[1] = 0

Ayrıca, mevcut girdilerin değerlerini yalnızca aritmetik bir ifade gibi ekleyerek değiştirmek yerine, mevcut bir diziye daha fazla öğe ekleyebilirsiniz.

$names += “Johny”

Bu yöntem, aynı anda birden çok giriş, hatta tüm diziler eklemek için kullanılabilir.

$names += “Charlie, Liam, Teresa”

$names += $surnames

Virgülle ayrılmış yöntem, birden çok dizi öğesine erişmek için de geçerlidir. Örneğin bunu girmek, $days$weekdays içinde saklar .

$weekdays = $days[0,1,2,3,4]

Diziler Üzerinden Yineleme

Bir dizinin belirli öğelerine manuel olarak erişmek iyi ve iyidir, ancak bir dizinin tüm içeriği üzerinde eylemler gerçekleştirmek istiyorsanız sıkıcı olabilir. Daha zarif bir yaklaşım, For döngüsü kullanmaktır.

For döngüleri, bir dizinin tüm öğelerini sistematik olarak gözden geçirebilir ve her değeri talimatlara göre işleyebilir. Böyle bir döngüyü şu şekilde oluşturabilirsiniz:

For ($i = 0 ; $i -lt $days.Length ; $i++){
    $days[$i]}

array.Length işlevi, temelde içindeki öğelerin sayısı olan dizinin boyutunu döndürür. Bu, tüm öğeleri kapsamlı bir şekilde yinelemek için bir For döngüsünün test ifadesi parametresine eklenebilir.

Foreach döngüsü ve Foreach -object döngüsü, daha da yalın bir (Foreach)PowerShell betiğiyle aynı şeyi yapabilir .

Foreach ($day in $days){
    $day}

Bu, ayrıntıları PowerShell'in(PowerShell) işlemesi için bırakarak, dizinin boyutunu belirleme zahmetinden sizi kurtarır .

PowerShell Dizilerini(PowerShell Arrays) Ne Zaman Kullanmalısınız?

Karmaşık bir komut dosyasındaki en büyük hata kaynağı, yanlış başvurulan değişkenlerdir. Bunun nedeni, amaçlarını hatırlamayı zorlaştıran çok sayıda benzersiz olarak adlandırılmış değişkenin varlığıdır.

Bu sorun için en basit düzeltme, dizileri kapsamlı bir şekilde kullanmaktır. Bir şekilde ilişkili tüm değişkenler tek bir diziye atanabilir ve indeks numaraları aracılığıyla erişilebilir.

Microsoft PowerShell'in(Microsoft PowerShell’s) başlıca kullanım durumu otomasyondur ve diziler bu konuda çok önemli bir rol oynar. PowerShell cmdlet'leri tarafından döndürülen nesneler dizilerde saklanabilir ve yinelenebilir. Bu, sıralı görevlerin otomatik olarak gerçekleştirilmesine izin vererek sistem yönetimini büyük ölçüde basitleştirir.



About the author

10 yılı aşkın deneyime sahip profesyonel bir ses mühendisiyim. Küçük ev ses sistemlerinden büyük ticari prodüksiyonlara kadar çok çeşitli projelerde çalıştım. Benim becerilerim, müziğin kulağa harika gelmesini sağlayan mükemmel film müzikleri ve ses işleme araçları yaratmakta yatıyor. Ayrıca Windows 10 konusunda son derece deneyimim var ve bilgisayar sisteminizden en iyi şekilde yararlanmanıza yardımcı olabilirim.



Related posts