• Hakkımızda
  • Yazı Gönder
  • Sizden Gelenler
  • İletişim
Yazılım Karavanı | Bilim - Teknoloji - Mühendislik
  • Anasayfa
  • Genel
  • Programlama
    • Ruby
    • Flutter
    • Android
    • Java
    • MySQL
    • Oracle SQL
  • Yaşamdan
  • Algoritmalar
  • Yapay Zeka
  • Topluluklar
No Result
View All Result
  • Anasayfa
  • Genel
  • Programlama
    • Ruby
    • Flutter
    • Android
    • Java
    • MySQL
    • Oracle SQL
  • Yaşamdan
  • Algoritmalar
  • Yapay Zeka
  • Topluluklar
No Result
View All Result
Yazılım Karavanı | Bilim - Teknoloji - Mühendislik
No Result
View All Result
Home Ruby

Ruby Diziler (Arrays) 1. Kısım

Emre İnaç by Emre İnaç
Nisan 14, 2018
in Ruby
6 min read
0
Ruby Veri Tipleri (Data Types)
WhatsApp'ta PaylaşTwitter'da PaylaşLinkedIn'de PaylaşTelegram'da Paylaş

Ruby de diziler; herhangi bir nesnenin, tamsayı indisli koleksiyonlarıdır.  Dizilerde indisler, C ve JAVA dillerinde olduğu gibi 0 ‘dan başlar. Ayrıca negatif tamsayılar da indis olarak kullanılabilir. Örnek vermek gerekirse bir dizinin -1 nolu indisi o dizinin son elemanını verecektir. Bu ifadeden de anlaşılacağı üzere, Ruby ‘de dizilerin negatif indisleri elemanları sondan başa doğru ters bir sıra ile belirtecektir.

Ayrıca Ruby dilinin en güzel yönlerinden birisi de dizilerde farklı türdeki elemanları tutabilirsiniz.

DİZİ OLUŞTURMA

Ruby ‘de dizi oluşturmanın birçok yolu vardır. Boş bir dizi oluşturabilirsiniz  veya atama operatörü ile dizinize bir takım elemanlar da ekleyebilirsiniz. Şimdi birlikte nasıl dizi oluşturulur onlara bir göz atalım:

Boş Dizi

dizi = [] 

#Ve ya bu şekilde de boş bir dizi oluşturulabilir.

 dizi = Array.new 

Elemanlı Dizi

 dizi = [1, 3,"elma", 0.5, "Ali"]

Veya bu şekilde 3 elemanlı, elemanları nil olan bir dizi de oluşturulabilir:

dizi = Array.new(3)  # dizi = [nil,nil,nil] 

Metin Dizisi

dizi = %(ali veli mehmet erdem)

# dizi = [“ali”,”veli”,”mehmet”,”erdem”]
Bu şekilde de elemanlarının hepsi metin(string) olan bir dizi oluşturabilirsiniz.

Sembol Dizisi

 dizi = %i(ali veli mehmet) 

#dizi = [:ali,:veli,:mehmet]
Bu şekilde de elemanlarının hepsi sembol(symbol) olan bir dizi oluşturabilirsiniz.

ELEMANLARA ERİŞME

Dizilerin tuttuğu elemanlara erişebilmek için de birçok yol vardır. İlk akla gelen ve en çok kullanılan yol tabi ki köşeli parantez içine erişilmek istenilen indisin yazılması şeklinde kullanılan yoldur. Ancak bahsettiğimiz gibi birçok farklı yöntem vardır. Diğer farklı durumlara da göz atalım:

dizi = [1,2,3,4,5,6]

Dizimiz bu şekilde tanımlanmış olsun

dizi[0]       #=> 1
dizi[3]       #=> 4
dizi[7]       #=> nil
dizi[-2]      #=> 5
dizi[1,4]     #=> [2,3,4,5]
dizi[2..5]    #=> [3,4,5,6]

Köşeli parantez kullanılarak yukarıda görülen şekillerde elemanlara erişim sağlanılabilir.  Şimdi de aynı dizi üzerinden köşeli parantez ve ya indis kullanmadan yapılan erişimlere göz atalım:

#at() metodu
dizi.at(0) #=> 1

#fetch() metodu 
dizi.fetch(5) #=> 6
dizi.fetch(100) #=> Hata! Çünkü dizimiz 6 elemanlı

# first ile ilk indisteki ve last ile son indisteki elemana erişebiliriz.
dizi.first       #=> 1
dizi.last        #=> 6

# take(n) ile dizinin n sayıdakı elemanına erişim sağlayabiliriz.
dizi.take(4)#=> [1,2,3,4] 

# drop() metodu;
# take metodunun zit mantığı ile çalışır.
dizi.drop(4)
#=>   [3,4,5,6]

DİZİ HAKKINDA BİLGİ ALMA

      Diziler hakkında bazen bilgi almamız gerekebilir. Mesela dizinin boyutu kaç?  Dizi boş mu? veya istenilen elemanı içeriyor mu? Bu bilgilere erişebilmek için de belirli metodları  kullanacağız

Dizinin Boyutu;

  dizi = %w(elma armut kiraz kavun)
#=> ["elma","armut","kiraz","kavun"]
  dizi.size         #=> 4
  dizi.length       #=> 4
  dizi.count        #=> 4

 Dizi Boş Mu?

dizi.empty?       #=> false

 Dizi Bu Elemanı İçeriyor Mu?

  dizi.include?("elma")       #=> true
  dizi.include?("karpuz")     #=> false

DİZİLERE ELEMAN EKLEME- ÇIKARMA

      Dizilere eleman eklerken ve ya dizilerden eleman çıkarırken de birçok farklı yol kullanabiliriz.

dizi = [2,3,5,7]

Örneklerimizde yukarıdaki diziyi ele alalım.    

Eleman Ekleme;

push() metodu ve ya << operatörü ile dizimize sondan eleman eklemiş oluruz.

dizi.push(11)     #=> [2,3,5,7,11]
dizi << (13)      #=> [2,3,5,7,11,13]

unshift() metodu ile dizimize baştan eleman eklemiş oluruz.

dizi.unshift(1)  #=> [1,2,3,5,7,11,13]

nsert() metodu ile dizimize istediğimiz bir indise eleman eklemiş oluruz. İstenilen indisteki mevcut eleman bir indis ileri kayacaktır. Ayrıca insert() metodu ile çoklu eleman ekleme de yapabiliriz.

dizi.insert(4, "elma")    #=> [1,2,3,5,"elma",7,11,13]

dizi.insert(2, "muz","nar","dut")   #=> [1,2,"muz","nar","dut",3,5,"elma",7,11,13]

Eleman Çıkarma;

pop metodu, diziden sondaki elemanı çıkartır ve onu geri döner.

dizi.pop         #=> 13
dizi     #=> [1,2,"muz","nar","dut",3,5,"elma",7,11]

shift metodu, diziden baştaki elemanı çıkartır ve onu geri döner.

dizi.shift  #=> 1
dizi  #=> [2,"muz","nar","dut",3,5,"elma",7,11]

delete_at() metodu, diziden istediğimiz indisteki elemanı siler ve geri döner.

dizi.delete_at(4) #=> 3
dizi      #=> [2,"muz","nar","dut",5,"elma",7,11]

delete() metodu, diziden istedigimiz elemanı siler ve geri döner.

dizi.delete("nar")  #=> "nar"
dizi         #=> [2,"muz","dut",3,5,"elma",7,11]

compact ile dizideki tüm nil değerleri silebiliriz ancak değişiklik kalıcı olsun istiyorsak compact! şeklinde kullanmamız gerekir.

dizi = [1,4,nil,6,2,nil,12]

Yukarıdaki diziye compact ve compact! metodlarını uygularsak

dizi.compact          #=> [1,4,6,2,12]
dizi                  #=> [1,4,nil,6,2,nil,12]
dizi.compact!         #=> [1,4,6,2,12]
dizi                  #=> [1,4,6,2,12]

olduğunu görebiliriz.

uniq metodu ise bir diğer faydalı metottur. Bu metot ile diziden tekrar eden elemanları çıkartabiliriz.

dizi = [1,2,3,3,4,2,4,3,6,7,7,9]
dizi.uniq             #=> [1,2,3,4,6,7,9]

çıktımız yukarıdaki şekilde hiç bir elemanının tekrar etmediği şekilde olacaktır. 

emreinac
Tags: ArraysEmre İNAÇRuby
SendTweet3Share1Share
Önceki Gönderi

İnternet Haftası #internetyasamdir

Sonraki Gönderi

Ruby Diziler (Arrays) 2. Kısım

İlgili Yazılar

Ruby Programlama Dili Hakkında

Ruby İkili Arama Ağacı (BST)

by Ali Murat Çevik
Nisan 22, 2018
0

class BosDugum def to_a [] end def include?(*) false end def ekle(*) false end alias_method :&lt;&lt;, :ekle def incele end...

Ruby Veri Tipleri (Data Types)

Ruby Diziler (Arrays) 2. Kısım

by Emre İnaç
Nisan 14, 2018
0

Bu kısımda Ruby programlama dilinde dizilerde nasıl eleman seçebiliriz ,seçtiğimiz elemanlar üzerinde nasıl değişiklik yapabiliriz ve dizilerde yineleme işlemlerini nasıl...

Ruby Veri Tipleri (Data Types)

Ruby Döngüler (Loops)

by Emre İnaç
Mart 22, 2018
0

Duruma göre bazen bir metni 10 kez yazdırmak isteyebilirsiniz. Bunu "print" komutu ile yapabilirsiniz ancak döngü kurarak yapmak daha basit...

Ruby Veri Tipleri (Data Types)

Ruby Kontrol Yapıları

by Emre İnaç
Mart 20, 2018
0

Ruby diğer modern yazılım dillerine göre çok daha basit bir kontrol yapısına sahiptir. Açıklanan tüm ifadeler geriye bir değer döndürür....

Ruby Veri Tipleri (Data Types)

Ruby Değişkenler ve Sabitler (Variables & Constants)

by Emre İnaç
Mart 17, 2018
0

Ruby'de bir değişken, adının başındaki karakterler ile ayırt edilebilir. Değişken adı belirlerken karakter sınırlaması yoktur. 4 adet değişken türü mevcuttur....

Next Post
Ruby Veri Tipleri (Data Types)

Ruby Diziler (Arrays) 2. Kısım

Ruby Programlama Dili Hakkında

Ruby İkili Arama Ağacı (BST)

  • Popüler
  • Yorumlar
  • En Yeniler
Sıfırdan Yolo v4 Tiny Özelleşmiş Nesne Tespiti (Custom Object Detection)

Sıfırdan Yolo v4 Tiny Özelleşmiş Nesne Tespiti (Custom Object Detection)

Temmuz 26, 2021
B Ağaçları (B Trees)

B Ağaçları (B Trees)

Ağustos 24, 2020
Gini Index Kullanılarak Karar Ağacının (Decision Tree)  Oluşturulması

Gini Index Kullanılarak Karar Ağacının (Decision Tree) Oluşturulması

Ağustos 20, 2020
Bubble Sort (Kabarcık Sıralama) Algoritması

Bubble Sort (Kabarcık Sıralama) Algoritması

Mayıs 18, 2018
2020 ‘nin En Güncel ve Tehlikeli Zararlı Yazılımları

2020 ‘nin En Güncel ve Tehlikeli Zararlı Yazılımları

6
Magento 2 Detaylı Kurulum & Hatalar

Magento 2 Detaylı Kurulum & Hatalar

5
Flutter’da TFLite Kullanımı

Flutter’da TFLite Kullanımı

4
Bubble Sort (Kabarcık Sıralama) Algoritması

Bubble Sort (Kabarcık Sıralama) Algoritması

2
Yeni Siber Güvenlik Kanunu: Yazılım Geliştiriciler İçin Neler Değişti?

Yeni Siber Güvenlik Kanunu: Yazılım Geliştiriciler İçin Neler Değişti?

Mart 19, 2025
Google Play Health Connect Politika Güncellemesi: Güncellenen Veri Koruma Kuralları

Google Play Health Connect Politika Güncellemesi: Güncellenen Veri Koruma Kuralları

Mart 10, 2025
Yapay Zeka Destekli Dijital Medya Takip Aracı: sentitracer.com

Yapay Zeka Destekli Dijital Medya Takip Aracı: sentitracer.com

Şubat 10, 2025
OneSignal Kullanarak Güvenli Push Notifications Oluşturma Rehberi

OneSignal Kullanarak Güvenli Push Notifications Oluşturma Rehberi

Aralık 14, 2024

Reklam

Yazılım Karavanı | Bilim – Teknoloji – Mühendislik

Bilgi Teknolojileri alanına meraklı herkesin buluşma noktası!

No Result
View All Result
  • Anasayfa
  • Genel
  • Programlama
    • Ruby
    • Flutter
    • Android
    • Java
    • MySQL
    • Oracle SQL
  • Yaşamdan
  • Algoritmalar
  • Yapay Zeka
  • Topluluklar

© 2020 Yazılım Karavanı Kaynak gösterilmesini rica ederiz.