-.:::Prowebciyiz Forum:::.-

Would you like to react to this message? Create an account in a few clicks or log in to continue.
-.:::Prowebciyiz Forum:::.-

Türkiyenin Yeni Ama Bi O Kadar da Rakipsiz Türk Forumu

yüksek gerilim hattı, kablo kesme makası, tel çekme makinesi, pabuç sıkma pensesi, hidrolik pabuç sıkma pensesi, kablo sıyırma, skp sıkma pensesi, yüksek gerilim hatları, kablo soyma, kapma üreticisi. ankara reklam; ankara dijital baskı, uv baskı. 333etiket;makine etiketi; iş güvenliği levhası, metal etiket, alüminyum etiket, leksan etiket, uv baskı, folyo etiket, pvc etiket, ankara etiket yapmaktadır.

333 Reklam;uyarı ve ikaz levhaları, ankara araç giydirme,ankara cnc kesim,ankara dijital baskı,ankara fotoğraf baskı, ankara kanvas tablo, ankara reklam, ankara tabela, ankara totem, ankara ışıklı tabela, ankara ışıksız tabela, ankara krom kutu harf tabela, uv baskı, asit indirme etiket, cnc kesim ankara, kanvas tablo ankara, latex baskı, uyarı ikaz levhaları üreticisidir. Ankara Reklam dijital baskı; ankara dijital baskı, kanvas tablo ankara, kanvas baskı ankara, uv baskı ankara, yapıyoruz. Şah Reklam; ankara tabela, tabelacı, ankara reklam, ankara ışıklı tabela, ankara ışıksız tabela, ışıklı tabela, ışıksız tabela, ankara araç giydirme imalatıdır Şah!. ankara mimari maket, ankara maket,

333baskı :ankara fotoğraf baskı, ankara dijital baskı, ankara uv baskı, ankara baskı, ankara poster, fotoblok baskı, ankara lazer kesim, dijital fotoğraf baskı, kanvas fotoğraf baskı.

İyiolsun : ankara kanvas tablo,ankara kanvas baskı

Ankara Metal Etiket :makina etiketi, trafo etiketi, metal etiket ankara, leksan etiket, asit indirme etiket, paslanmaz etiket, ankara metal etiket üretmekte.

Uv firmamız;uv baskı,pleksi uv baskı.

333 Ajans ile ;ankara kurumsal kimlik, reklam ajansı ankara,ankara reklam ajansları,ankara reklam ajansı, ankara logo tasarım,web tasarım ostim, reklam ankara,ankara dijital baskıyapmaktadır.

Güneş Arge ,makine tasarım, ankara plastik kalıp,ankara plastik enjeksiyon,cnc talaşlı imalatöncüsü.

Anıl; asansör,ankara asansör,ankara asansör bakımı,ankara asansör montajı,ankara asansör montajı,ankara asansör revizyonu,ankara asansör revizyonu,insan asansörü,paket asansör,paket asansör,engelli asansörü firması. Asansör; asansör,ankara asansör,ankara asansör bakımı,ankara asansör montajı,ankara asansör montajı,ankara asansör revizyonu,ankara asansör revizyonu hizmetleri. Ankarada; ankara araç giydirme,tır giydirme,ankara araç kaplama,otobüs giydirme,minibüs giydirme,reklam giydirme,araç folyo sökme,araç giydirme,ankara folyo kaplama,folyo kaplama,karavan giydirme firması.

Erdal Bilişim;ankara kurumsal kimlik,ankara sosyal medya ajansı,ankara grafik tasarım,ankara reklam ajansı,ankara reklam ajansları,ankara seo ajansıkonularında lider.

Firmamız;ankara reklam ajansı, ankara reklam ajansları yürütmektedir. Vava Medya :antalya reklam ajansı, antalya sosyal medya ajansı, antalya kurumsal kimlik tasarım, antalya drone çekimi, tam hizmet reklam ajansı, denizli reklam ajansı, antalya en iyi reklam ajansı, izmir en iyi reklam ajansı, izmir en iyi ajansçözümleridir.

Decorgrup; duvar çıtası, poliüretan çıta, boyanabilir çıta, dekoratif çıta, ankara kartonpiyer ürünlerini titizlikle üretmektedir.

Mediface güzelleşmenize yardımcı olan bir; antalya burun estetiği, antalya estetik burun, antalya göz kapağı estetiği, antalya bişektomi, antalya yanak estetiği,antalya meme implant antalya saç ekimi ve güzellik merkezi hastanesidir.


    Ruby Dersleri

    Admin
    Admin
    Administrator
    Administrator


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

    Ruby Dersleri Empty Ruby Dersleri

    Mesaj tarafından Admin C.tesi Mayıs 09 2009, 20: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.

      Forum Saati Cuma Nis. 19 2024, 12:37