Bugün sizlere ilk kez discourse kodlarına bakarken gördüğüm bir olayı anlatacağım. Çekirdeğinizi, kolanızı aldıysanız başlıyorum, toplanın.
***
Set için yinelenen elemanlara izin vermeyen ve elemanların sırasız olarak toplandığı veri tipi diyebiliriz.
Elemanlar array’de olduğu gibi index bazlı değil. Yani bu ne demek, ben 3. elemanı getir diyemem veya belli bir kurala göre sıralayamam.
Set, ruby core içinde yer almıyor, standart kütüphane içinde yer alıyor. Bu yüzden require etmemiz gerekiyor.
Birkaç örnek
Bir array objesini set objesine çevirmek için to_set methodu yeterli.
Biri set, diğeri array olursa olmuyormuş.
SortedSet
Bir de Set‘ten implement edilmiş bir veri türü olan SortedSet var. <=> methodu ile sıralama yapıyor.
Karşılaştırılabilir bir eleman eklenmediği zaman patlıyor. Sıralama işlemi yapamıyor ama Set veri tipi özelliklerini(uniq olma gibi) koruyor.