Daha önce, 'Kullanıcıdan Girdi Almak' isimli blogda Array konusuna değinmiş ve orada bu yapıların temel mantığını konuşmuştuk. Bu bloga, o blogdan hatırlatıcılar ile başlayacağız.
Hatırlatıcı 1:

Hatırlatıcı 2:

Array'in ne olduğunu ve index - eleman ilişkisini artık biliyoruz. Şimdi, gerçek bir array tanımlamanın ve array üzerinde çeşitli işlemler yapmanın zamanı geldi.

Bir array, yukarıdaki gibi tanımlanır. Bir adet değişken ismi (operatingSystems=) tanımladıktan sonra bir çift parantez açarız ve bu parantezlerin içerisine değerlerimizi gireriz. Ancak bu değerler, tek tırnak içerisinde olmalı ve bunların birbirinden ayrılması için virgül gibi herhangi bir noktalama işareti yerine yalnızca bir boşluk bırakırız.
Şimdi, gerçek bir array'e sahibiz. Sahip olduğumuz şeyi de kontrol edebiliriz. Hadi yapalım.
İlk önce index yapısını ele alalım ve array içerisinden x indexli bir eleman çağıralım. Bunu yapabilmemiz için hangi elemanın kaçıncı index olduğunu biliyor olmamız lazım. Örneğin buradaki 'Linux' elemanı sıfırıncı index iken 'IOS' elemanı üçüncü index'tir.

Bir array içerisinden bir eleman çağıracağımız zaman ilk önce dolar işaretimizi koymalı ve bir çift süslü parantez açmamız gerekir: ${}
Bunu yaptıktan sonra array'in ismini yazıp hemen yanında (boşluk bırakmadan) bir çift köşeli parantez açıyoruz: ${operatingSystems[]}
Buraya kadar, bir eleman çağırmanın temelini aldık. Geri kalan şey ise istediğimiz elemanın index numarasını o köşeli parantezin içerisine yazmaktır. Onu da yapalım ve kodumuzu çalıştıralım.

Gördüğünüz üzere ${operatingSystems[0]} şeklinde bir kod yazdık; bahsettiğim köşeli parantezler içerisine '0' değerini verdik. Bu, sıfırıncı index'i istediğimiz anlamına geliyor. Programı çalıştırıp çıktıya baktığımız zaman ise gerçekten de bize sıfırıncı index olan 'Linux' çıktısını verdiğini görüyoruz.
İsterseniz bir de IOS'i çağıralım.

Aynı yöntem ile yaptık. Değişen tek şey, köşeli parantez içerisindeki index numarası oldu. Çıktımız da başarılı bir şekilde geldi. Hatta burada isterseniz, çıktıyı daha anlaşılır kılabilirsiniz. Örneğin:

Eleman çağırmayı öğrendik. Peki, Array'in bütün elemanlarını görmek veya göstermek istersek nasıl bir yol izleriz?

Bunun için yine köşeli parantezlerin içine '@' özel karakterini veriyoruz (AltGr + Q). Çıktı kısmına da baktığımız zaman Array'in bütün elemanlarını bize gösterdiğini görüyoruz.
Şimdi, eleman sayısını bilmediğiniz ve bunları saymanın çok zaman alacağı bir durumun içine düştüğünüzü varsayın. Bu durumda, biz dizideki eleman sayısını direkt olarak gösteren bir kod parçası çok işe yarardı, öyle değil mi?

Bunun için 'değişken isminin başına' bir adet '#' (hash) koyuyoruz (AltGr + 3). Bunu yaptığımız zaman dizi içerisinde kaç eleman varsa bize onu gösterecektir.
Madem eleman sayısını görebiliyoruz; o zaman neden index sayısını da görmeyelim? Aslına bakarsanız kafanızdan 'eleman sayısı - 1' formülü ile bunu bulabilirsiniz ancak bunu kod ile yapabilmemize olanak tanıyorlar ve inanın işe yaradığı yerler oluyor.

3. satırdaki '-e' ve '\n' ifadelerine takılmayın. Onları, çıktı kısmını daha iyi görebilmeniz için koydum. Bahsettiğimiz index sayısını görme işini de 'değişken isminin başına' '!' işareti ile yapıyoruz. Bunu yaptığımızda çıktı kısmında da göreceğiniz üzere en baştan başlayıp en sona doğru bunları sıralıyor. Çıktıdan anlamamız gereken şey; 'operatingSystems' dizisinin 4 indexten oluştuğudur.
Örneğin bir koşuldan sonra diziye bir eleman daha eklemek istiyorsunuz. Bunu nasıl yaparsınız? Mantıksal düşünelim. Değişken isminden sonra gelen köşeli parantezin içerisine index numarası yazabiliyoruz, değil mi? Peki biz, olmayan bir index numarası yazsak (bu örnekte örneğin 5) ve bunu bir elemana eşitlesek nasıl olur? Yani 'x dizisinin beşinci elemanı y olsun' tarzında bir şeyler yapabilir miyiz? Bakalım.

Bu noktada dolar işareti olmadan değişkenimizi yazıyor ve köşeli parantezimizi açıyoruz. Daha sonra dediğimiz gibi olmayan bir index numarası veriyoruz (çünkü ekleme yapacağız) ve bunu bir değere atıyoruz. Bunu; operatingSystems[5]='Ubuntu' şeklinde yapmış olduk. Burada Bash'e; 'beşinci index'e 'Ubuntu' koy' demiş olduk.
Son olarak elemanların hepsini yazdırdığımızda dizideki elemanlarla birlikte 'Ubuntu' elemanının da eklenmiş olduğunu görüyoruz. İşte, biz dizi içerisine otomatik olarak eleman ekleme işlemi bu şekilde yapılıyor. Bu biraz anlamsız gelebilir ancak bir koşuldan sonra bunu yapmanız gerektiğinde bu blog yazısına geleceğinizi biliyorum. Örneğin kullanıcıdan aldığınız girdileri bir diziye aktarmak isteyebilirsiniz.
Peki, eğer diziye dışarıdan müdahale ederek bir ekleme yapabiliyorsak değiştirme veya çıkarma da yapamaz mıyız? Tabii ki yapabiliriz; Bash bu!
İlk önce eleman değiştirmeyi görelim.

Burada, 'Linux' yerine 'Arch Linux' koyduk. Bu komutu yazarken aslında şöyle dedik: "Dizinin sıfırıncı elemanını 'Arch Linux' ile değiştir".
Şimdi, dizi içerisinden IOS'i silelim; zaten hiç sevmem.

Burada 'unset' komutunu kullandık ve sade değişkenimizin başına ne dolar işareti koyduk ne de kendisini bir şeye eşitledik. Sadece köşeli parantezler arasına çıkarmak istediğimiz elemanın index numarasını verdik ve işlem tamamlanmış oldu.
Diziler, bu şekildeydi. Bolca pratik yapmanızı ve çeşitli kombinasyonlarla bunları pekiştirmenizi istiyorum.
Yayınlanma Tarihi: 2022-09-15 19:31:45
Son Düzenleme Tarihi: 2022-09-17 13:18:02