Ruby Stringlerde Aralık Verme İşlemleri
Ruby’de her stringi bir array (dizi) olarak düşenebilirsiniz. Bu sayede stringler üzerinde işlemler yapmak kolay olacaktır. Örnek olarak bir string değişkeninde istediğimiz harfi döndürebiliriz tıpkı array’lerde olduğu gibi.
string = "Eksik bir şey mi var hayatımda?" puts string[11] #=> Çıktısı "e" olacaktır.
Aynı dizilerde olduğu gibide belirli aralıkları da stringlerde alabiliriz.
string = "Eksik bir şey mi var hayatımda?" puts string[0,20] #=> 0'dan başlayarak 20 karakter getir. Çıktısı= "Eksik bir şey mi var"
Yukarıdaki örnekte açıklamada olduğu gibi string değişkeninde 0.karakterden başlayıp 20 tane karakter döndür dedik.
Peki ya 0’dan başla 20.karaktere kadar olan aralıktakileri getir deseydik?
string = "Eksik bir şey mi var hayatımda?" puts string[0..20] #=> Çıktısı "Eksik bir şey mi var" olacaktı
Yukarıdaki [0..20] ile [0,20] arasında bir fark olmadığını zannedebilirsiniz ancak bu yanlış.
string = "Eksik bir şey mi var hayatımda?" puts string[3..20] #=> 3.karakterden başla 20.karaktere kadar olanları döndür. "ik bir şey mi var" olacak
Açıklamada olduğu gibi 3.karakterden başlayığ 20.karaktere kadar olanları döndürdü bize Ruby sağ olsun 🙂 Ancak burada dikkat edilmesi gereken [3..20] 20.karakteride içine dahil etti. Eğer dahil olmasını istemeseydik.
string = "Eksik bir şey mi var hayatımda?" puts string[3..25] #=> 3'den başla 25.karaktere kadar getir. 25.karakter dahil. puts string[3...25] #=> 3.karakterden başla 25.karaktere kadar olanları getir. 25.karakter dahil değil. puts string[3,25] #=> 3.karakterden başla 25 adet karakter döndür. =begin Çıktılar ik bir şey mi var hayat ik bir şey mi var haya ik bir şey mi var hayatım =end