-.:::Prowebciyiz.Tr.Cx-Community:::.-




-.:::Prowebciyiz.Tr.Cx-Community:::.-

Türkiyenin Yeni Ama Bi O Kadar da Rakipsiz Türk Forumu
 
AnasayfaAnasayfa  AnasayfaAnasayfa  Ziyaretçi DefteriZiyaretçi Defteri  GaleriGaleri  Kayıt OlKayıt Ol  Giriş yapGiriş yap  
Türkiyenin Yeni,Ama Bi O Kadar da Rakipsiz Türk Forumu"na Hoş Geldiniz!!!-Forumumuzda Aradığınız Bilgi Ve Paylaşımın Doruklarına Ulaşacaksınız!!!- [Admin]-
Sayın üyelerimiz Ve Misafirlerimiz!!! PhpBB Ve Yetkin AltYapısıyla Oluşturduğumuz Bu Sitenin Bize Sağladığı Dezavantajlar,Veritabanının Yedeklenememesi Ve Çok  Fazla RAhatsız Edici Reklam Yayınlamaları Sebebi İle En Kısa Zamanda Web Sitemizi (Veri Tabanı Ve İçerikler dahil)Taşımayı Düşünüyoruz!!!-Yaklaşık 1 Ay Gibi Kısa Bir Sonra Web Sitemiz Ve Host"u tamamen yenilenecek ve adresi "http://prowebciyiz.co.cc" Ve Sürümü"Vbulletin" olarak değişecek VE Şimdiki Forumumuzda Yeni Üye Alımlarına İzin Verilmeyecektir!!! İlginizden Dolayı Teşekkür Ediyorum!!!-[Admin]
Giriş yap
Kullanıcı Adı:
Şifre:
Beni hatırla: 
:: Şifremi unuttum
En iyi yollayıcılar
Admin
 
●●тяøч●●
 
sssda
 
emre_0042
 
rapper
 
ahmet23_38
 
ali tokgöz
 
burakmertsnr
 
SSurvivoRR
 
ömer
 

Paylaş | 
 

 Ruby Dersleri

Önceki başlık Sonraki başlık Aşağa gitmek 
YazarMesaj
Admin
Administrator
Administrator
avatar

Erkek
Mesaj Sayısı : 418
Yaş : 26
Memleket : Ankara
İş/Hobiler : Admin
Lakap : Prodog
Rep Gücü : 3
Kayıt tarihi : 27/02/09

MesajKonu: Ruby Dersleri   C.tesi Mayıs 09 2009, 19:16

Burada, Ruby programlama dilini anlatmaya çalışacağım ve eğer soru soran olursa cevap vermeye çalışacağım

şimdi, hafiften klişe bir şekilde başlayalım

Ruby nedir?
Ruby, 1990'ların ortalarında Japonya'da ortaya çıkmış, nesne yönelimli bir programlama dilidir.C++, Java gibi diğer birçok dilin aksine herşey, ama herşey birer nesnedir(int, float da dahil).Herşeyin nesne olması gibi birçok özelliğini ilk dinamik nesne yönelimli programlama dili olan Smalltalk'tan almıştır(dinamiklik konusuna umarım daha sonra gelicez) ve perl'le de syntax açısından çeşitli benzerlikleri bulunmaktadır.Derlenen değil de, yorumlanan bir dil olduğu için hız konusunda bi miktar yavaş kalır ama 1.9 sürümünden itibaren gelen bytecode compiler ile bir miktar hızlanmıştır.Ayrıca rubyforge.org adresinde de birçok kütüphane bulunabilir

Merhaba Dünya!
**Bunu yazmadan geçmek mümkün değil**
Perl'ün "Bir işi yapmanın birden fazla yolu var" anlayışına (bir yere kadar) sahip olan ruby'de tabi ki ekrana "Merhaba Dünya!" yazdırmanın birçok yolu var.
Kod:

print "Merhaba Dunya!"

Kod:

puts "Merhaba Dunya!"

Kod:

p "Merhaba Dunya!"

Kod:

$stdout << "Merhaba Dunya!"

Bu kadar yolun farkı ne diyorsanız, print ve $stdout << yazdırılan şeyin sonuna yeni satır karakteri eklemezken, puts ekliyor. p ise raw bir şekilde ekrana yazdırdığından dolayı bu örnekte başına ve sonuna tırnak işareti koyuyor.

Nesneler ve Mesajlar
Daha önce de bahsettiğim gibi ruby'de herşey bir nesnedir ve bunlara çeşitli mesajlar gönderilebilir ("mesaj gönderme", diğer birçok dilde metod çağırma olarak geçer").Örneğin;
Kod:

-3.abs

satırında Fixnum sınıfına ait bir nesneye "abs" mesajını gönderiyoruz, bu Fixnum sınıfının abs fonksiyonunu ve bu sayının mutlak değeri olan 3 ü elde ediyoruz.Ruby'de bir fonksiyon çağırırken eğer argument yollamıyorsak paranteze ihtiyaç yoktur, dolayısıyla sanki bir değişkene erişiyormuş gibi fonksiyon çağırabiliriz.

Kod:

3 + 5
=> 8

bu satırda da aslında 3 nesnesine "+" mesajını 5 argümanıyla yolluyoruz ve 8 sonucunu alıyoruz.Yani operatörler de aslında mesaj gönderiyor

Bir başka örnek;
Kod:

a = [1,3,true,["asd",3.5]].size
=> 4 # Bu "#" işareti ruby'de yorum karakteridir ve o satırın sonuna kadar geçerlidir.
#Ayrıca => işareti ile belirttiğim şey yukarıdaki işlemin sonucudur.

Ruby'de dynamic typing sayesinde değişken tanımlamaya gerek yoktur.Direkt olarak bir değişkene atama yaparsanız o değişken tanımlanmış olur.Ayrıca yine bu nedenle listelerde veya fonksiyon argümanlarında sınıf kısıtlaması yoktur.

Bir örnek daha;
Kod:

3.times { puts "asd" }

Bu kod, ekrana 3 kez "asd" yazdırır.Burada 3'e times mesajını bir blokla yolluyoruz.Bir blok, bir ruby kodu parçasıdır ve küme parantezleri yada do...end anahtar sözcükleriyle sınırlandırılır.Bloklar, güvenin bana, gerçekten çok yararlıdırlar.

Kontrol Yapıları
ruby'de de if ler diğer bir çok dildeki gibidir
örneğin;
Kod:

if 3 + 5 == 8
puts "heyoo!!"
end

ekrana tahmin edebileceğiniz gibi "heyoo!!'" yazdırır.C syntaxlı dillerden farklı olarak if teki ifadenin etrafına parantez koymak gereksizdir(ki döngü vs. lerde de gerek yoktur).Diğer bir çok kod bloğu gibi if ler de "end" ile bitirilir.
ayrıca, "unless" keywordü de "if not" anlamına gelir ve eğer verilen ifade yanlışsa o bloktaki kodu çalıştırır

if vs. için bir diğer kullanım şekli de;
"ifade if koşul" biçimindedir.Örneğin;
Kod:

puts "heyoo!! if 3 + 5 == 8

bir üstteki if ile aynı sonucu verecektir.Bu yöntem unless, while gibi şeyler için de kullanılabilir

Döngüler
Ruby'de de while döngüsü bulunur ve diğer dillerdeki while lara benzer.Sadece bir örnekle geçiştireceğim bunu;
Kod:

a = 1
b = 5
c = 3
while a < b
c += 1
a += 1
end
c
=> 7

burada pek görülecek birşey yok

ruby'de for döngüsü de bulunur ancak aslında bu döngüye hiç ihtiyaç yoktur.Çünkü for döngüsünün 2 temel kullanım amacını karşılayan farklı yöntemler vardır.bir şeyi belli bir kez yapmak için int'lerin "times" metodu kullanılır ki yukarıda bahsedip örnek göstermiştim.Ama hadi yeni bir özellik göstererek bir örnek daha veriyorum;
Kod:

sonuc = 0
5.times do |i|
sonuc += i
end
sonuc
=> 10

burada, bu blokta "|" karakterleri arasında verdiğimiz i, bu bloğun argümanıdır ve "times" metodu her dönüşünde 0'dan başlayarak bir sayı döndürür bu argümana ancak bu argümanın oraya konulması zorunlu değildir.

for döngüsünün 2. kullanım amacı olan array'lerin her elemanıyla birşeyler yapma ise, Array vb. sınıflarda bulunan "each" metoduyla halledilir.Örneğin;
Kod:

arr = [ 1,2,3,4,5,6,7 ]
arr.each do |a|
p a**2
end

bu kod, arr arrayinin tüm elemanlarının karesini ekrana yazdırır(** operatörü kuvvet alma işlemi için kullanılır). each metodu bir blok alır ve argüman olarak o arrayin o sıradaki elemanını verir.
Sayfa başına dön Aşağa gitmek
http://prowebciyiz.tr.cx
 
Ruby Dersleri
Önceki başlık Sonraki başlık Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-
» Tasarımcılık Dersleri ~ Derivable Üst Tasarlama
» Visual Basic Dersleri - 1

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
-.:::Prowebciyiz.Tr.Cx-Community:::.- :: BilgisayaR :: Programlama Dilleri :: Programlama-
Buraya geçin: