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
Bu komut ile kurdum ruby i Daha sonra
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.
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
İle dosyayı çalıştırabiliriz. Ekranda merhabathtmerhabasiber yazdı terminalin solunda. Yan yana oldu hoş olmadı. Düzeltmek için
Ö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:
[/COLOR][/SIZE][CENTER][SIZE=4][COLOR=White][B][FONT=Courier New]print "merhaba tht"
print "merhaba siber"[/FONT][/B][/COLOR][/SIZE][/CENTER]
[SIZE=4][COLOR=White]
Terminalden yine Desktop a geçip
Kod:
ruby.rb
Kod:
[B][FONT=Courier New]
[/FONT][/B] [B][FONT=Courier New]
print "merhaba tht\n"
print "merhaba siber "
[/FONT][/B]
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:
[B][FONT=Courier New]puts Nbr[/FONT][/B]
[B][FONT=Courier New]puts İyi[/FONT][/B]
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:
[B][FONT=Courier New]x = "Arda"[/FONT][/B]
[B][FONT=Courier New]y = 5
[/FONT][/B]
[B][FONT=Courier New]c = 3.9[/FONT][/B]
Bu şekilde değerler oluşturulabiliyor. Fark ederseniz ; yok.
Kod:
[B][FONT=Courier New]x = nil
[/FONT][/B]
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
Küçük bir Program Yapalım Hesaplama İşlemleri Klasik
Kod:
[B][FONT=Courier New]
[/FONT][/B]
[B][FONT=Courier New]print "Birinci Sayı: "[/FONT][/B]
Ş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.
Ş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.
Kod:
[/COLOR][B][FONT=Courier New][COLOR=White]print "Birinci Sayı: "[/COLOR][/FONT][/B]
[B][FONT=Courier New][COLOR=White]sayi = gets.to_i[/COLOR][/FONT][/B]
[/SIZE][B][FONT=Courier New][SIZE=4][COLOR=White]
[/COLOR][/SIZE][/FONT][/B]
[SIZE=4][COLOR=white][B][FONT=Courier New]print "İkinci Sayı: "[/FONT][/B]
[B][FONT=Courier New]sayi2 = gets.to_i[/FONT][/B]
[B][FONT=Courier New]
[/FONT][/B]
[B][FONT=Courier New]puts sayi + sayi2
[/FONT][/B]
Ş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.
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.
Yapıp çalıştırır isek bize sonuçları verecektir.
String Değerlere Bakalım
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.
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.
Yaptığımızda Z nin ikinci index olduğunu görüyoruz.
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.
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.
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.
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:
[B][FONT=Courier New]puts 5 + 5[/FONT][/B]
[B][FONT=Courier New]puts 5 - 5[/FONT][/B]
[B][FONT=Courier New]puts 5 / 5[/FONT][/B]
[B][FONT=Courier New]puts 5 % 5[/FONT][/B]
[B][FONT=Courier New]puts 5 ** 5[/FONT][/B]
Yapıp çalıştırır isek bize sonuçları verecektir.
String Değerlere Bakalım
Kod:
[B][FONT=Courier New]a= " rubyci "[/FONT][/B]
[B][FONT=Courier New]
[/FONT][/B]
[B][FONT=Courier New]puts a.length()[/FONT][/B]
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:
[B][FONT=Courier New]
[/FONT][/B]
[B][FONT=Courier New]a = "rubyci"
puts a[0,3][/FONT][/B]
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.
Son düzenleme: