- Ruby'nin
Hash yapısı, anahtarları değerlere eşleyen yerleşik bir veri yapısıdır. O(1)
- Diğer dillerde anahtar/değer yönetimi için birçok sınıf bulunurken, Ruby anahtar/değer çiftlerini tek bir
Hash sınıfıyla yönetir
- Çok esnek bir veri yapısıdır; veri nesnesi / sözlük / hash tablosu / sıralı liste gibi yapılar dahil olmak üzere çok farklı amaçlarla kullanılabilir
- Sembol/dize/tamsayı dahil olmak üzere neredeyse tüm nesneler anahtar olarak kullanılabilir
fetch metodu ile anahtar olmadığında varsayılan değer ayarlanabilir
delete ile anahtar silinebilir. Olmayan bir anahtar çağrılsa bile sorun çıkmaz
- İç içe kullanılabilir
- İlgili anahtar yoksa
nil döndürür, ancak default özelliğiyle varsayılan değer atanabilir
Enumerable modülünü içerdiği için each, each_key, each_pair, each_value, keys, values gibi metotlarla hash üzerinde iterasyon yapılabilir
- Çift Splat operatörü
** ile hash içeriği unpack edilebilir
- Diğer faydalı metotlar:
any?(key), compact, empty?, merge, hash.eql? obj, except(*keys), reject, filter ve select, fetch_values(*keys), has_key?, member?, include?, key?, has_value?, value?, length, size, count, slice(*keys), transform_values, flatten
9 yorum
Üniversitede C öğrenip Python listeleriyle ilk kez tanıştığım zamanki heyecanı hatırlatıyor.
"Swiss Army knife" ifadesini "MacGyver bıçağı" diye çevirmeyi düşündüm ama günümüzde insanlar muhtemelen bunu anlamaz diye "çok amaçlı araç" olarak çevirdim..
Sanırım MacGyver'a kadar tamam ama Swiss Army knife'ı duymadıysa anlamak zor olabilir, haha
Ben de bir genç olarak anladım; bilmeyen pek kimse yok gibi görünüyor.
Vay canına, bu gerçekten şaşırtıcı bir keşif. Bunu gerçekten bilemeyeceğimi sanmıştım.
Bu arada, GeekNews kullanıcıları arasında ergenler de varmış.. harikasınız!
Şaşırtıcı şekilde 10'lu yaşlardaki geliştiricilerin sayısı da artıyor; bu yüzden sanırım GeekNews'i takip eden öğrenci geliştiricilerin sayısı da giderek artıyor.
Ben de daha sadece 9 ay öncesine kadar 10'lu yaşlardaydım...
Bir zamanlar
MacGyverdiye bir dizi olduğunu bilmeyen çok kişi var, ama yine de herkesinMacGyver çakısıifadesini anladığı anlaşılıyor.Artık atasözü gibi bir konumu var; sorun olmaz değil mi? En azından 20’lerinde biri olarak ben anladım :D
Ah. Bunu anlarsanız, amca esprisi sertifikası almışsınız demektir :)