• Hakkımızda
  • Bize Katıl
  • Sizden Gelenler
  • İletişim
Yazılım Karavanı | Bilişim - Teknoloji - Blog
  • 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ı | Bilişim - Teknoloji - Blog
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
SendTweet2ShareShare
Ö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)

Bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

  • 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
Splash Screen Yapımı #Flutter

Splash Screen Yapımı #Flutter

Mayıs 25, 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
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
VGG-19 Transfer Learning ile Görüntü Sınıflandırma

VGG-19 Transfer Learning ile Görüntü Sınıflandırma

Eylül 12, 2022
SOC Sistemler Üzerine Faydalı Notlar

SOC Sistemler Üzerine Faydalı Notlar

Eylül 2, 2022
Python NLTK Kütüphanesi İle Basit Bir Chatbot Yapımı

Python NLTK Kütüphanesi İle Basit Bir Chatbot Yapımı

Ağustos 23, 2022
Makine Öğrenimi Nedir?

Makine Öğrenimi Nedir?

Ağustos 4, 2022

Reklam

Yazılım Karavanı | Bilişim – Teknoloji – Blog

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.