11.  Bu Derslerden Sonrası…
Şimdi ne yapalım ? Kafamıza takılan soruları kime sorabiliriz? Web sayfası açan, mail gönderen yada bir fotografı yeniden boyutlandıran bir program yazmak istersek ne yapacağız? Ruby yardımı alabileceğiniz birçok yer var . 
Benim için herzaman yardım alacağım üç önemli kaynak var. Eğer ufak bir problemim varsa kodumu yazarak hemen deneyebileceğim irb kullanırım. Biraz daha büyük problemim varsa pickaxe kitabıma bakarım. Beni aşan bir problem varsa ruby-talk listelerine sorarım. 
IRB: İnteraktif Ruby 
Ruby kurduysanız zaten irb vardır. Kullanmak için konsol ekranınızı ( windows için dos prompt ) açın ve irb yazın. Buradan bütün Ruby kodlarını , özellikle kısa ve hemen sonucunu almak istediklerinizi yazabilirsiniz. 1 + 2 yazın ve enter bu kadar size 3 verecektir. (puts kullanmanıza gerek yok.) Bunu cüce bir Ruby hesap makinası gibi düşünün , kodu yazın ve hemen sonucu görün.  
Pickaxe: "Programming Ruby" 
Bir Ruby programlamacısının başucu kitabı "Programming Ruby, The Pragmatic Programmer's Guide", by David Thomas and Andrew Hunt (the Pragmatic Programmers). Windows sisteminize Ruby kurduğunuzda bu kitap da dizininizde yer alır. 
Bu kitapda temel düzeyden , en gelişmiş düzeye kadar her konu vardır. Her programlama dilinin keşke böyle bir kitabı olsa. Kitabın sonunda her sınıfın metodları ile ilgili geniş bir bölüm ve örnekler vardır. 
Bu kitabı şuralardan bulabilirsiniz : Pragmatic Programmers sitesinden. Benim favorim   ruby-doc.org. 
Neden ismi  "the pickaxe"? Kitabın kapağında resmi var.  
Ruby-Talk: Ruby Mail Listesi 
Üye olup Ruby topluluğu ile paylaşım yapabileceğiniz dünya çapında e-posta grubu . Daha fazlası için üye olun ve inceleyin : buradan. 
Tim Toady 
Son olarak derslerde de sık sık bahsetmeye çalıştığım bir kavramdan bahsedeyim :  TMTOWTDI ("Tim Toady" olarak söylenir): There's More Than One Way To Do It (bir şeyi yapmanın birden çok yolu vardır). 
Şimdi kimileri bu TMTOWTDI nin çok mükemmel olduğundan kimisi de tam tersi şeylerden bahsedecektir. Ben bu kadar ısrarcı olmayacağım ama bu bir programlama dili öğretirken bunun çok kötü bir yol olduğunu söylemeliyim (bir şeyi yapmanın bir yolunu öğrenmek yeterince karışık ve zorlayıcı olmasaydı).  
Yinede şimdi bu dersler bitti ve ileriye doğru gittikce başka kaynaklardan çok değişik kodlar ister istemez göreceksiniz. Mesela ben bir string yapmak için bunu tırnaklar “..” içine yazmak dışında beş farklı yolla bunu yapabilirim. Bu derslerde size bu altı yolun en basitini gösterdik. 
Derslerde dallanmalar konusunda if gördük ama unless (eğer değilse) görmedik. Şimdi bunu irb üzerinde görelim : 
Burada akıllıca bir kısaltma daha göreceğiz  if, unless, ve while nin tek satırda nasıl yazılabileceğini : 
#  buradaki kelimeleri ingilizce sanıp türkçeye çevirmeye çalışmayın
#  English-like babble.  Cool, huh?
puts 'grobably combergearl kitatently thememberate' if 5 == 2**2 + 1**1
puts 'enlestrationshifter supposine follutify blace' unless 'Chris'.length == 5

grobably combergearl kitatently thememberate
Son olarak blok alan (procs değil) metodları oluşturmanın başka bir yolu daha var. Bizim gördüğümüz olayda,  blok oluşturulur ve proc içinde &blok işaretiyle tanımladığımız fonksiyonun parametresi içine koyarız. Sonra blok çağırmak için sadece block.call yazmamız yeterli olur. Bunun daha kısa bir yolu var (her ne kadar bu kısa yolun karmaşık olduğunu düşünsemde). Normal öğrendiğimiz şekli ile kod şöyle : 
def doItTwice(&block)
  block.call
  block.call
end

doItTwice do
  puts 'murditivent flavitemphan siresent litics'
end

murditivent flavitemphan siresent litics
murditivent flavitemphan siresent litics
...ama daha kısasını isterseniz : 
def doItTwice
  yield
  yield
end

doItTwice do
  puts 'buritiate mustripe lablic acticise'
end

buritiate mustripe lablic acticise
buritiate mustripe lablic acticise
Ne düşünüyorsunuz ? yield ?! kullanmak daha iyi mi? TMTOWTDI böyle bir şey , herkes istediği kodu kendine kolay geleni tercih edebilir.
SONUÇ
Bu öğrendiklerinizi iyilik yolunda kullanın . :-) Eğer bu dersleri yararlı (hatalı yerler de varsa) bulduysanız bizlere Chris PINE  / Niyazi ATEŞ e-posta gönderebilirsiniz