“CODE BLOCK” yapılı iÅ?levler oluÅ?turmak
Ã?nceki makalemizde “yapılar ve tekrarlayıcılar”ın genel kullanım türlerinden bahsetmiÅ?tik. Ã?rnek verirken Ruby tarafından bize sunulan kütüphaneleri ele almıÅ?tık. (Array.each gibi)
Bu makalede yapı kabul eden fonksiyonları kendimizin nasıl oluÅ?turacaÄ?ı üzerinde duracaÄ?ız.
Kendi oluÅ?turduÄ?umuz fonksiyona nasıl “kod yapıları” eklenebilir?
Kod yapısı kabul eden bir fonksiyon oluÅ?turmak için Ruby dili bize “yield” iÅ?levini sunar. Verilen kodun tekrarlanacaÄ?ı yere “yield” yazmak yeterlidir.
puts "Ã?alıÅ?tırılıyor..."
# kod yapısını çalıÅ?tıralım
yield
puts "Bitti..."
end
calistir { puts "merhaba" }
Yukarıda belirtilen fonksiyon “yield” iÅ?levinde verilen kod yapısını tekrar edecektir. Ã?ncesinde ekrana “Ã?alıÅ?tırılıyor…” yazacak yapılan kod tekrarlandıÄ?ında “Bitti” yazacaktır.
block_given?
Yeni Tasarım 26/02/07
Yeni tasarıma geçiÅ? gerçekleÅ?ti her ne kadar olsa da eksik noktalar.
1. KOD YAPILARI
Kod yapıları aslen bir fonksiyon olup, -kısaca- iÅ?lemden döndürülen sonuçları alarak bunları o an içerisinde iÅ?lemeye yarar. Bir fonksiyondan ayrıldıkları tek nokta çoÄ?u zaman isimlerinin olmayıÅ?ıdır. Ayrıca fonksiyona deÄ?er göndermek yerine dönen deÄ?eri/deÄ?erleri otomatik olarak yakalayıp, iÅ?leyebilir.
2. KOD YAPILARININ TANIMLANMASI
Ã?rnek olarak “Array” sınıfının “each” fonksiyonunda dönen deÄ?eri yakalayıp bu deÄ?er üzerinden iÅ?lem yapalım.
[1, 2, 3].each { |x| puts "DeÄ?er: #{x}" }
# Do-End Tarzı Yazım
[1, 2, 3].each do
|x| puts "DeÄ?er: #{x}"
end
Ã?rnekte verilen “Array.each” incelendiÄ?inde döngü içerisinde tüm elemanları sırayla aktarıldıÄ?ı görülecektir. Yapı ile biz bu elemanı yakalayıp, onun üzerinden iÅ?lem yaptık.
Ã?rneÄ?i yapı kullanmadan yazmaya çalıÅ?alım:
beÅ? nokta 20/02/07
kimsesiz bir alan için
birçok Å?eyleri vereceÄ?imiz vakitlerdi
bok renkli, devlet kokan binalarda
bahçe gibiydik
kim bilir kaçıncı bi’ kez mevsim gören
soÄ?ukluÄ?u mutlak binaların
var olan ufak sıcaklıÄ?ının oluÅ?umu da
öpüÅ?ümlerimize baÄ?lıydı
daha bi’ o kadar mutluluÄ?a uzak
mutlu bir çift olmamıÅ?tır
biz sayılmazsak
üstelik gördüklerimin en güzeliydi resmin
seni saymazsak
aÄ?latmacı kelimeler
mutluluÄ?a engel olamaz
tek göz iki kiÅ?ilik
gözyaÅ?ı salgılıyorsa
ve,
var olmayan yok olmayabilir de
biz gibi.
bi’ o kadar yaklaÅ?mıÅ?ken
geleceÄ?e
geçmiÅ? zamana geri dönüyordum.
biz giderdik,
bizsizler gelirdi
var olmayan yok olmaya da bilir
biz gibi.
murat ârif �eliker
Å?ubat 17, ‘07
sitemap.rb verilen yerel dosya üzerinde yahut aÄ? sayfası üzerinde tüm baÄ?lantıları takip ederek (tabii sunucunuzda bulunanları ve gerekli görünenleri) kısayoldan sitemap.xml dosyası oluÅ?turmaya yarayan, oluÅ?an dosyayı bilgilerinizi girdiÄ?iniz taktirde sunucunuza yükleyebilen araçtır.
Tasarı sayfasından da gerekli bilgilere ulaÅ?abilirsiniz.
Svn hesabından geliÅ?meleri takip edebilirsiniz.
svn checkout svn://rubyforge.org/var/svn/sitemap-rb
Neler Yapabilir?
- Verilen adresteki tüm baÄ?lantıları bulur. EÄ?er baÄ?lantı sunucunuz üzerinde ve belirlenen dosya formatlarının dıÅ?ında ise bunu listeye ekler.
- OluÅ?turulan dosyayı sunucunuza yükleyebilir.
- İÅ?ini yerine getirir!
Neler Yapamaz?
- BaÄ?lantı bilgilerini el ile ayarlama yok. İkinci sürümde olma ihtimali %100.
- Grafiksel bir arayüze sahip deÄ?il. İkinci sürümde olma ihtimali %100. (İlk “neler yapamaz”ın sebebi de grafiksel ekrandan yoksun oluÅ?u)
İlerisi İçin Tasarı GeliÅ?imi
Grafiksel arayüz eklenmesi ve hatalar var ise düzeltilmesi. Kodların genel bir incelenmesi.
Hata Olursa & Fikrim Varsa
Bunların sonraki sürümlerde yer alması/düzeltilmesi için yorum yazabilirsiniz.
sitemap.rb | sitemap.xml creator
sitemap.rb found all links - if it’s suitable - in local file or web site, then create sitemap.xml for you. if you agree, it’s send your sitemap.xml file to your server!
usage
if you want to use sitemap.rb, your system must have a ruby.
# create sitemap.xml from local file
ruby sitemap.rb index.html
# create sitemap.xml from web page
ruby sitemap.rb http://www.ikinoktayazilim.com/
download
downloadable files are in project page.
next versions?
Next version (probably 0.2) will have Graphical User Interface (gui). With new version you change every file unique properties. (like “how often updated?”)
Comments are welcome!
ScreenCast: NetSınav (3) 11/02/07
netSınav sistemi tasarısı hakkında daha ayrıntılı bilgiyi buradan bulabilirsiniz.
Bölüm İçin Yol Haritası:
- Sınav Sisteminin OluÅ?turulması
- Puan Sisteminin OluÅ?turulması
- Helper Kullanımı
- Session Kullanımı
- rescue ve kullanım yerleri
- �zel Fonksiyonların Tanımlanması
3. bölüme ait kaynak kodları buradan yükleyebilirsiniz (.tar.gz)
Detayları ve bölüm yazısını yazının devamında bulabilirsiniz… Devamını Okumak İstiyorum
6 gündür hemen hemen hazır halde bulunan (çekimleri henüz tamamlanmadı) netSınav’ın 3. bölümü, bunun yanında diÄ?er dökümansal yazılar, derinlemesine incelemeler tamamlanmadıÄ?ı için taslaklar kısmında duruyor. Sebebi ise Å?iddetli geçirilmiÅ?-geçirilen bir grip. (Düzeltelim, çok Å?iddetli. 112’sel Å?iddetli)
Tamamen atlatır atlatmaz dökümanların sayfaya konulacaÄ?ını, yeni bölümlerin ekleneceÄ?ini geçiriyorum içimden. İnÅ?allah olur.
İlaçlara devam Å?imdilik.






