Merhaba değerli okurlar. Bu konuda ruby diline başlıyoruz. Temellerini atacağız ruby nin. Başlayalım.





Öncelikle ruby i sitesinden indireceksiniz. Ben linux kullandığım için


Kod:
sudo apt-get install ruby-full



Bu komut ile kurdum ruby i Daha sonra


Kod:
cd Desktop

Kod:
gedit ruby.rb



Diye bir ruby dosyası oluşturdum. Ruby tıpkı python gibidir. Geleceğin dillerinden olarak söylenir. Belgemizi oluşturduğumuza göre bakalım.

Kod:
print "merhaba tht"
print "merhaba siber"

Böyle bir kod kullandık. Print kodu herhangi bir şeyi ekrana yazdırmakta kullanılır. Programlamaya bir kez olsun izlemiş insanlar zaten bilir. Bazı dillere hakim olanlar bu dilde de çok rahat edebilir.


Terminalden yine Desktop a geçip


Kod:
ruby.rb
İle dosyayı çalıştırabiliriz. Ekranda merhabathtmerhabasiber yazdı terminalin solunda. Yan yana oldu hoş olmadı. Düzeltmek için



Kod:


print "merhaba tht\n"
print "merhaba siber "



Bu sefer bir alt satıra inecektir. \n komutu bir alt satıra inmek için kullanılır. Ama \n kullanmak yerine şöyle bir şeyde var.


Kod:
puts Nbr
puts İyi


Böyle yaptığınız da da alt alta yazacaktır. Puts daha kullanışlıdır. Ama bazı durumlarda hatalar meydana getirebilir.


String Değerlere Baklım


Önce bir değişken yapalım.


Kod:
x = "Arda"
y = 5

c = 3.9


Bu şekilde değerler oluşturulabiliyor. Fark ederseniz ; yok.


Kod:
x = nil



Yaparsanız bu ise nil yani bu değişkenin x değişkeninin bir değere sahip olmadığını gösteriyor ruby de.


Küçük bir Program Yapalım Hesaplama İşlemleri Klasik
Kod:


print "Birinci Sayı: "


Şimdi kod tabiki bundan ibaret değil. Burda bir durdum. Sayı: sonra boşluk bastım ki daha güzel görünsün. Ruby de boşluklar sayılıyor yani. Bazen python da bu durum yüzünden çok hata yaşayanlar olmuştur.



Kod:

Kod:
print "Birinci Sayı: "
sayi = gets.to_i
Kod:


print "İkinci Sayı: "
sayi2 = gets.to_i


puts sayi + sayi2




Şimdi burada ne yaptık. Önce kişiden bir sayı istedik aslında bunu sadece yazı olarak belirttik. Kişinin bu sayıyı girmesi yani input gibi aslında. Kişinin değişkene bir sayı ataması için veya bir değer. gets komutu kullanılır. Ama gets string yani yazı değerler içindir. Bu yüzden gets.to_i yapılır yani integar değere yani sayı değere çeviriyoruz bu şekilde. Eğer float yani kesirli sayı isteseydin gets.to_f yaparak bunu yapabilirdik. Daha sonra ikinci sayı istedik ve puts ile bunları topladık.


NOT: =begin
....

=end


Begin ve end yorum satırı gibi düşünebilirsiniz. Yani begin ile end arasındaki kodları sistem görmez.


NOT:


=begin
blabla

=end


Yaparsanız hata verir.

=begin

blabla


=end

Yaparsanız hata verneyecektir. Orta da yazmayın dediğim gibi bazen boşluklar bu tarz hatalara neden olabiliyor.


Daha sonra bu yaptığımız programı çalıştırdığımızda terminalde. Bizden sayı isteyecek 5 girelim sonra ikinciye de 6 girelim. 11 sonucunu bize verecektir.


Kod:
print "Birinci Sayı: "
sayi = gets.to_i

print "İkinci Sayı: "
sayi2 = gets.to_i

puts sayi.to_s + " + " + sayi2.to_s + " = " + (sayi + sayi2).to_s



Böyle bir kod yazarisek. Daha güzel görünecektir. Yani örneğin çalıştırdık 5 dedik 6 dedik 5 + 6 = 11 olarak bulacaktır. Kodları inceleyebilirsiniz. Kodlarda bazi şeyleri dikkat ederseniz string e çevirdik.



NOT: Boşluklar önemli gördüğünüz gibi " = " yaptığımızda = i bir boşluk ile koydu. "=" yapsaydık koymazdı.


Şimdi bunu yorum satırına alın. Devam edelim.


Tıpkı diğer dillerde python da da olduğu gibi sayılı işlemlerde + topla - çıkar * çarp / böl anlamına geliyor. Tabi bir değişkeni yanına atamak için yapılan + lar farklı. % ise kalan. ** ise üssü anlamına geliyor. yani 2**2 dersek bu matematik deki 2 üssü 2 şeklinde. Sonucu da 4 verir.


Kod:
puts 5 + 5
puts 5 - 5
puts 5 / 5
puts 5 % 5
puts 5 ** 5


Yapıp çalıştırır isek bize sonuçları verecektir.


String Değerlere Bakalım


Kod:
a= " rubyci "


puts a.length()


Bu kod aslında x e atadığımız string değerin ka. harf olduğunu bize sonucunu veriyor. Bunlara string indexleri deniliyor.


NOT: FARK ETTİNİZ DEĞİL Mİ :) BOŞLUKLARDA KARAKTER OLARAK SAYILIYOR. RUBYCİ 6 KARAKTER AMA BİZE 8 VERDİ. ÇÜNKÜ BOŞLUKLAR VAR.


length buna yarıyor dostlar.
Eğer boşlukları silerseniz 6 olararak verecektir karakteri dostlar.





Kod:
puts a.index("Y")



Altına bunu da koysaydık.
Burada bize Y nin hangi index olduğunu söylüyor sıfır olarak altda görünecektir.


Kod:
puts a.index("Z")



Yaptığımızda Z nin ikinci index olduğunu görüyoruz.


Kod:


a = "rubyci"

puts a[0,3]



Böyle yaptığımızda bizim için rubyci kelimesini 0 dan 3 e kadar yazacak. Çalıştırırsak rub sonucunu verir 3 ü silip 4 yaparsak ruby olur mesela.


Kod:
langs = ["ruby","php","java",3.14,5,true]

puts langs[0]
puts langs[1]



Böyle bir kod yazarsak dostlar. Langs şuna yarıyor şimdi langs değişkeninin içine bazı değerler atadık string float integar gibi. Bunları sıraladık. Programlama dilleri hep 0 dan başlar. Daha sonra alta puts ile langs koyup 0 belirttik bir de 1 yaptık. Bunu çalıştırınca ekrana alt alta ruby php yazacaktır dostlar. Eğerki gidip oraya [-1] koysaydık mesela. Sondan başlayacaktı yani true ya -1 olarak algılayacaktı 5 i -2 3.14 ü -3 olarak. Bu şekilde tepkileri yanıtları vardır.


Kod:
puts langs[-1]



Yaparsak sonucu bize true olarak çıkaracktır. True dediğim yani atadığım değer yanlış anlamayın sona ne yazdıysanız onu gösterecek ekranda bize.






Bu konu bu kadardı diğer bir konuda görüşmek üzere.