http://esiyo.net - uordek.essiyoo.each { |yazi| esiyo.net << yazi }

Ruby’nin Çalışma Zamanı

27.12.2006, yazan Tankut ŞENTÜRK

Merhabalar,

Bugünkü konumuz biraz daha ruby on rails'e yaklaşmak, ruby'nin dosyalar, çalışma ve tasarım zamanları ile ilgili bir kaç bilgi vermek olacak.

Öncelikle bir konudan bahsetmek istiyorum, diğer birçok dilde çalışma zamanı ile tasarım zamanı birbirinden farklı ve ayrı kavramlardır. Örneğin C#'da programınızın derlenmesi ve çalışması ayrı zamanlarda gerçekleşir. Fakat Ruby'de bu kavram arasında herhangi bir fark yoktur. Ruby'de tasarım da, çalışma da aynı temellere dayanır, ikisi arasında hiçbir fark yoktur. Evet çok sert bir kavram ama sanırım bir örnek yaptıktan sonra daha rahat anlaşılacaktır.

Bir önceki yazımızda LogClass isimli bir sınıf yapmıştık, hani şu LogHelper adlı modülün include edildiği, bu sınıfın bilgilerini LogClass.rb dosyası olarak kaydetmiş olduğumuzu varsarak örneğimize geçelim.

# Standart input & output islemleri aninda gerçekleştirilmesini sağlar.
$stdout.sync = true

# Hangi sınıfı kullanacagimizi belirtiyoruz. Bu durumda 'LogClass' olmali.
className = "LogClass"

# Sonsuz döngüye girmemesi için bir önlem, retry işlemini sadece bir kez yapması için.
fileLoaded = false
begin
    tempObj = eval(className).new
    tempObj.ownMethod
    tempObj.error
   
    puts tempObj.operationList
rescue Exception => err
    unless fileLoaded
        printf "%s sınıfı tanımlı değil.. İlgili dosya çağrılıyor\n", className
        # load islemi, dosyayı memory'e alir. Programcının kullanımına izin verir.
        load className + ".rb"
        fileLoaded = true
        retry
    else
        puts "İşlem gerçekleşmedi.." + err
    end
else
    puts "İşlem gerçekleşti..."
end

Kodu çalıştırıldığında şu çıktıyı üretir;
LogClass sinifi tanimli degil.. Ilgili dosya cagriliyor
Default Logger #LogClass:0x2ae65d0.OwnMethod
Default Logger #LogClass:0x2ae65d0.error
OwnMethod
error
Islem gerceklesti...

Bu konuyu anlamakta zorlanabilirsiniz, bu nedenle daha önceki yazılarımdan şunu ve şunu okumanızı tavsiye ederim.

Şimdi Ruby on Rails'de yazdığınız kodların nasıl oluyorda düzdün ve sorunsuz çalıştığını daha iyi anlamaya başladık. :)

Kolay gelsin.. :)

Bağlı olduğu kategoriler; Bilgisayar, Ruby (Ruby on Rails)

2 Yorum

  1. Huseyin

    Anladın sen onu :)

  2. Tankut ŞENTÜRK

    Hehehe :) anlarsın tabee :)

Yaz aklındakini, çekinme :)

Lütfen: Yorumunuzun değerlendirilmesi ve yayınlanması uzun sürebilir. Yorumunuzu tekrar göndermeniz için bir neden yoktur, inanın tüm yorumları yayınlıyorum. Bazıları hariç :).