Ruby Hash Veri Tipinin Metodları

ZuL-RaA

Kadim Üye
9 Ara 2017
5,553
840
Semerkant
Merhabalar,

Bu konuda Ruby 'nin Hash tipinin metodlarını göreceğiz. Başlayalım.

Anahtar İle Değeri Almak

IFNUxv.png


hash_ismi[:anahtar] şeklinde veriyi alabiliriz.

Kod:
[COLOR="Lime"]>>> [/COLOR]ZuL

Veri Eklemek

MuiLjE.png


hash_ismi[:anahtar_adı] = değer şeklinde veri ekleyebiliriz.

Kod:
[COLOR="Lime"]>>> [/COLOR]{:name=>"ZuL", :surname=>"RaA", :number=>818472}

Veri Güncellemek

4X7PHa.png


hash_ismi[:güncellenecek_verinin_anahtarı] = yeni_değeri şeklinde güncelleme yapabiliriz.

Kod:
[COLOR="Lime"]>>> [/COLOR]{:name=>"ZuL", :surname=>"Ar"}

Veriyi Silmek

usJamc.png


hash_ismi.delete :silinecek_verinin_anahtarı şeklinde silme işlemini yapabiliriz.

Kod:
[COLOR="Lime"]>>> [/COLOR]{:name=>"ZuL"}

Verileri Anahtarlara Göre Sıralamak (Küçükten Büyüğe)

so01UH.png


hash_ismi.sort metodu küçükten büyüğe doğru anahtarları sıralar.

Kod:
[COLOR="Lime"]>>> [/COLOR]bes
5
bir
1
dort
4
iki
2
uc
3

Anahtarları ve Değerli Ayrı Şekilde Almak

Ax8uhn.png


hash_ismi.keys bize anahtaları hash_ismi.values ise bize değerleri verir.

Kod:
[COLOR="Lime"]>>> [/COLOR]bir
iki 
uc  
dort
bes 
1
2
3
4
5

Değer Var Mı Yok Mu Diye Bakmak

5qhtN5.png


hash_ismi.value? değer şeklinde kontrol edebiliriz. (Parantez kullanmayabilirsiniz.)

Kod:
[COLOR="Lime"]>>> [/COLOR]true
false

Anahtar Var Mı Yok Mu Diye Bakmak

NnE0Za.png


hash_ismi.key? :anahtar direkt anahtar adını yazmıyoruz, veya string şeklinde yazmıyoruz. : (iki nokta) kullanıp anahtarın kendisi yazmak gerekiyor.

Kod:
[COLOR="Lime"]>>> [/COLOR]true
false

Hash'i String (Karakter Dizisine) Dönüştürmek

Pj7iVl.png


Bu işlemi yapmak için hash_ismi.to_s metodunu kullanıyoruz. to_s, to string, karakter dizisine demektir. veri.class veri tipini öğrenmek için kullanılır.

Kod:
[COLOR="Lime"]>>> [/COLOR]String
{:bir=>1, :iki=>2, :uc=>3, :dort=>4, :bes=>5}

Hash'i Array(Diziye) Dönüştürmek

y6MHCH.png


Bu işlemi yapmak için hash_ismi.to_a metodunu kullanıyoruz. to_sa, to array, diziye demektir.

Kod:
[COLOR="Lime"]>>> [/COLOR]Array
bir
1
iki
2
uc
3
dort
4
bes
5

Hashdeki Eleman Sayısını Öğrenmek

aWe6gM.png


hash_ismi.length veya hash_ismi.size ile öğrenilebilir.

Kod:
[COLOR="Lime"]>>> [/COLOR]5
5

Hashi Kalbiniz Kadar Temiz Yapın

MYL1UO.png


hash_ismi.clear hashin tüm verisini siler.

Kod:
[COLOR="Lime"]>>> [/COLOR]{}

Boş Mu Değil Mi Diye Kontrol Etmek

OH5Txq.png


hash_ismi.empty? metodu ile doluluğu kontrol edilebilir.

Kod:
[COLOR="Lime"]>>> [/COLOR]false
true

Hash Verileri İle Değerlerinin Yerini Değiştirme

COvUFu.png


hash_ismi.invert metodu hash de bulunan veri ile anahtarının yerini değiştirir.

Kod:
[COLOR="Lime"]>>> [/COLOR]{1=>:bir, 2=>:iki, 3=>:uc, 4=>:dort, 5=>:bes}

Hashin Anahtarlarıyla Dizi Oluşturmak

NWIuz7.png


hash_ismi.keys metodu bu işe de yarıyor.

Kod:
[COLOR="Lime"]>>> [/COLOR]Array
bir 
iki 
uc  
dort
bes

Hashin Değerleriyle Dizi Oluşturmak

U7akNv.png


hash_ismi.values metodu bu işe de yarıyor.

Kod:
[COLOR="Lime"]>>> [/COLOR]Array
1
2
3
4
5

2 Hashi Birleştirmek

iPjiI4.png


hash_ismi.merge ikinci_hashin_ismi şeklinde bu işlemi yapabiliriz.

Kod:
[COLOR="Lime"]>>> [/COLOR]{:bir=>1, :iki=>2, :uc=>3, :dort=>4, :bes=>5, :alti=>6, :yedi=>7, :sekiz=>8, :dokuz=>9, :on=>10}

Hashin İlk Elemanını Silmek

6w2LeP.png


hash_ismi.shift şeklinde kullanabiliriz.

Kod:
[COLOR="Lime"]>>> [/COLOR]{:iki=>2, :uc=>3, :dort=>4, :bes=>5}

Hash Eleman Ekleme

wiHmhR.png


Bu şekilde de eleman ekleyebiliriz. hash_ismi.store anahtar,anahtarın_değeri

Kod:
[COLOR="Lime"]>>> [/COLOR]{:bir=>1, :iki=>2, :uc=>3, :dort=>4, :bes=>5, :on=>10}

Dizilere göre fakir bir tür Hash. Konu bitti, okuduğunuz için teşekkürler.

oKEKz1.gif


hVoHfL.png


 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.