İÇİNDEKİLER VII İÇİNDEKİLER 1 RUBY HAKINDA 1 Ruby nin Gelişim Hikayesi 1 Neden Ruby? 1 Neden Bu Kadar Popüler? 2 2 RUBY KURULUMU 3 Windows İçin Ruby Kurulumu 3 Ubuntu ve Debian İçin Ruby Kurulumu 6 Mac OS İşletim Sistemleri İçin Ruby Kurulumu 7 3 ONLINE KAYNAKLAR VE DESTEK 9 Ruby Web Sayfası 9 Forumlar 9 Sosyal Ağlar 10 4 BAŞLANGIÇ 11 Interactive Ruby (IRB) 11 Matematiksel Olaylar 12 Değişkenler 16 Adlandırma Kuralları 18 Ayrılmış Kelimeler 19 Metinler 20 Metinsel Fonksiyonlar 21 Kaçış Dizeleri 23 Metin Editörleri Kullanmak 25 Yazdırmak 28 Kullanıcıdan Veri Girişi Almak 29 Yorum Satırları 29 Mantıksal Operatörler 30
VIII RUBY PROGRAMLAMA If Kontrolü (Eğer) 35 If Else Kontrolü (Eğer - Değilse) 37 ElseIf Kontrolü (Değilse Eğer) 39 Unless Kontrolü (Olumsuz Olaylar Kontrolü) 41 Unless Else Kontrolü (Olumsuz Olayların Değilse İçeren Kontrolü) 42 Case, When Kontrolü (Şartların Kontrölü) 42 Case, When ile Veri Tipi Algılaması 45 Case, When ile İçeren Kelime Algılanması 45 5 DÖNGÜLER 47 Döngüleri Tanıyalım 47 Downto Döngüsü 47 Times Döngüsü 49 UpTo Döngüsü 50 Step Döngüsü 50 While Döngüsü 52 Until Dögüsü 53 Break Döngüsü 53 Next Döngüsü 54 Loop Döngüsü 55 6 ARRAYS (DİZİLER) 57 Dizileri Tanıyalım 57 Length ve Count 59 Find, Find_All (Dizi İçinde Koşula Uygun Elemanı Tespit Etme) 59 Index, Find_Index (Dizi İçinde Koşula Uygun Elemanın Index ini Bulmak) 60 Reverse (Dizi Elemanlarını Terse Çevirmek) 61 Sort (Dizi Elemanlarını Düzenli Sıralama) 61 First ve Last (Dizideki İlk ve Son Elemanları Bulmak) 62 Include? ve Member? 63 *Int veya *Str 64
İÇİNDEKİLER IX İki Diziyi Birleştirmek 65 İki Dizide Bulunan Elemanların Çıkarımı 65 İki Diziyi Birleştirmek ve Aynı Olan Elemanları Tek Olarak Kullanmak 66.Push (Dizi Sonuna Eleman Eklemek) 67 Concat (Dizi Sonuna Bir Dizi Daha Eklemek) 67 Join Array Elemanlarını Birleştirerek Str Değer Olarak Çevirmek 68 Unshift (Dizi Başına Eleman Eklemek) 69 Insert (İstenilen Noktaya Eleman Eklemek) 69 Diziler Arası Karşılaştırma Yapmak 70 Pop (Dizideki Son Elemanı Çıkarmak) 71 Shift (Dizideki İlk Elemanı Çıkarmak) 72 Delete (Dizideki Herhangi Bir Elemanı Çıkarmak) 72 Delete_at (Dizideki Elemanları Index Değerine Göre Çıkarmak) 73 Clear (Diziyi Temizlemek) 74 7 HASH (KÜTÜPHANE) 75 Hash leri Tanıyalım 75 Hash İçerisinde Eşitlik Kontrolü 77 Fetch ile Hash İçerisinde Sorgu Yapmak 79 Store ile Hash İçerisine Atama Yapmak 81 Default, Default= Varsayılan Değer Tanımlama 82 Key ile Anahtar Bulma 83 Count, Size, Length Hash Boyutu Öğrenme 84 Key ve Value Kontrolörleri 85 Keys, Values, Values_at 85 Key?, Value?, Has_key?, Has_value? 87 Include?, Member? 89 Empty? 90 Shift 91 Delete, Delete_if, Keep_if 92
X RUBY PROGRAMLAMA Invert 94 Merge, Update, Merge! 95 Replace 97 8 RANGES (ARALIKLI NESNELER) 99 Aralıklı Nesneleri Tanıyalım 99 Begin, First, Cover?, Include?, Member?, End, Last 103 Min, Max, Size 107 Step 109 Pekiştirme Örneği 109 9 FONKSİYONLAR 113 Fonksiyonları Tanıyalım 113 Varsayılan Argümanlar 118 Diziler ile İşlem Yapma 119 Return (Değer Döndürmek) 120 Anahtar Kelimeli Argümanlar 122 Değişken İçerikli Argümanlar 123 10 DEĞİŞKEN KAPSAMLARI 125 Değişken Kapsamı Nedir? 125 Yazım Örneklendirmeleri 126 11 SINIF YAPILARI 129 Bir Alan Oluşturmak 129 Sınıf İçerisinde Fonksiyon Tanımlamak 131 Gizli Fonksiyonlar 132 Miras 134 12 BÜYÜK PROGRAMLARDA DOSYA DAHİL ETMEK 137 13 STRUCT VE OPENSTRUCT 139
İÇİNDEKİLER XI 14 MODÜLLER VE MIXIN LER 143 Modülleri Tanıyalım 143 Modül İçerisinde Fonksiyon Tanımlamak 144 Modül İçerisinde Sınıf Tanımlamak 146 Mixin ler 147 15 TARİH ZAMAN OLAYLARI 149 Zaman Objeleri 149 İki Gün Arasındaki Günler 152 Ne Kadar Yaşadık? 153 16 DOSYA İŞLEMLERİ 155 Dış Dosyaya Veri Aktarmak 155 Dış Dosyadan İçeri Veri Aktarmak 156 Dosyalar Arası Veri Kopyalamak 157 Dosya Görüntülemek 158 Yeni Dosya Oluşturmak 158 Satır Sonu Tanımlayarak 159 Çıktı Almak 159 Dosyayı Yeniden Adlandırmak 160 Dosya İçerisine Yazmak 160 Dosya İçerisine İçerik Dahil Etmek 161 17 PROC VE LAMBDA 165 Proc Nedir? 165 Proc Parametre Tanımlamak 166 Fonksiyon İçinde Proc Döndürmek 167 Lambda Nedir? 169 18 GEMS 173 Gems Nedir? 173 Gem Arama 174
XII RUBY PROGRAMLAMA Gem Kurulumu 176 Dokümantasyon Görüntüleme 176 Gem Kullanımı 178 Gem Silmek 179 19 WEB SERVİSLERİ KULLANIMI 181 Web Servisleri 181 Mail Göndermek 187 Ruby ile Tweet Atmak 189 Youtube İşlemleri 194 20 SELENIUM WEB DRIVER 197 21 SINATRA WEB FRAMEWORK 205 22 GÖRSEL KAYNAKLAR 289 23 ÇOKLU PLATFORM ÇATILARI 293