Ruby programlama dilinde hangi veri tiplerinin olduğundan bahsetmeden önce, RUBY denilince ilk akla gelmesi gereken, artık kalıplaşmış ve Ruby’ nin adeta kimliği haline gelmiş olan o meşhur söz ile giriş yapalım: “Ruby de her şey bir nesnedir.”
Ruby de her şey bir sınıfa sahiptir; Bunu İnteraktif Ruby üzerinde veri tipinizin sonuna “.class” metodu ekleyip test ederek görebilirsiniz.
Bununla ilgili bir kaç örnek verecek olursak;
1.class #=> Integer
1.class.superclass #=> Numeric
4.5.class #=> Float
nil.class #=> NilClass
h = {“key” => “value”}.class #=> Hash
:symbol.class #=> Symbol
a = [1,2,”a”,125].class #=> Array
(1..8).class #=> Range
Gördünüz mü? Ruby programlama dilinde herşey gerçekten de bir sınıfa sahiptir. Şimdi de Ruby hangi veri tiplerine sahipmiş onlari inceleyelim.
SAYILAR(NUMBERS);
1) Fixnum -> Bunlar 1 ,3 , 7, 12 gibi normal sayılar
2) BigNum -> 1234527869 gibi çok büyük sayılar
3) Float -> 3.0,72.45,1241.36745 gibi ondalıklı sayılar
4) Complex -> 4 + 5i gibi karmaşık sayılar
5) Rational -> 7879/8125, 15014/4784 gibi kesirli sayılar
HARF DİZİNLERİ(STRINGS)
String metin türlerini tutan veri türüdür.String değişkenleri tek tırnak(”) ve ya çift tırnak(” “) içinde tanımlayabilirsiniz.
Örnek olarak; “Merhaba Dünya” ve ya ‘Ruby’ gibi şekillerde string veri tiplerini kullanabiliriz.
=> ENTERPOLASYON <=
Enterpolasyon ile string içine Ruby kodlarını yazabiliriz. Bu kod işleminin sonucu string içine yerleştirilir.
puts “2 * 3 = #{2 * 3}” kodu bize çıktı olarak;
#=> 2 * 3 = 6
ifadesini verecektir.
SABİTLER(CONSTANTS)
Sabitler hakkında bilmemiz gereken 2 şey var;
1) Sabitlerin isimleri, büyük harfle başlar.Örneğin: Constant
bir sabittir ancak constant bir sabit değildir.
2) Sabitlerin tuttuğu değerleri değiştirebiliriz ama Ruby bize
bu konuda bir uyarı verecektir.
DİZİLER(ARRAYS)
Diziler bir takım verileri içerisinde barındıran yapılardır. Ruby’de bir dizi içerisinde farklı tipteki verileri saklayabiliriz ancak bir çok programlama dilinde bu
olay pek de mümkün değildir.Örneğin C dilinde bir dizi tanımlarken veri tipini de belirtmemiz gerekiyor ve sadece belirttiğimiz tipte verileri diziye ekleyebiliriz.
int dizi[5] = {2 ,5 ,7 ,1 ,3};
# C dilinde bir dizinin tanımlanması yukardaki şekilde görüldüğü üzere “int” veri tipi belirteci ve dizinin boyutunun kaç olcağını bildiren “15” sayısını kullanarak yapılıyor. Ancak Ruby bu konuda çok esneklik gösteriyor.Hadi bir de Ruby de bir dizi tanımlayalım;
dizi = [1 ,3, “Ali”, 0.45]
Ne yani sadece bu kadarcık mı dediğiniz duyar gibiyim. Evet doğru gördünüz, sadece bu kadar ve farklı tipteki verileri içeren bir dizi tanımladık. Ruby’nin güzellikleri saymakla bitmiyor.Tabi ki farklı şekilde dizi tanımlamaları da mevcut fakat şu anda sadece veri tiplerinden bahsettiğimiz için detaya daha sonra Diziler konusuna değindiğimizde gireceğiz.
SEMBOLLER(SYMBOLS)
Semboller, Ruby’de genel olarak hash yapısında kullanılır. Hash konusuna daha sonra değinecek olduğumuz için kısaca semboller için hash yapısının, dizilerdeki indis(index) ayarında bir elemanı olduğunu ve hash yapısının anahtar kısmını oluşturduklarını söyleyelim. Gösterimleri de şu şekildedir;
hash = {:symbol_name => “string” }
SOZLUK(HASH)
Çoğu programlama dilinde sözlük olarak geçen dizi benzeri anahtar-değer (key-value)çifti barındıran dizilerdeki indis yerine anahtar, elemanlar yerine de değerleri alan taşıyıcı yapılardır.
Anahtar değerleri eşşiz olmalıdır yani hash yapısı içinde aynı anahtar iki kez kullanılamaz.Ruby de hash kullanımı şu şekildedir.
canlilar = {“insan” => “Mehmet”, “Hayvan” => “Kedi”}
ve ya sembollerden bahsederken söyledigimiz gibi anahtar yerine sembolleri kullanacak olursak gösterimi ne şekilde olur aynı örnek üzerinde o konuya da değinelim:
canlilar = {:insan => “Mehmet”, :hayvan => “Kedi”}