“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.

def calistir
 
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?

Devamını Okumak İstiyorum

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.

# Parantezsel Yazı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:

Devamını Okumak İstiyorum

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!

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.

Sayfada yayımlanan yazılar aksi belirtmedildiği sürece Murat Arif Çeliker'e aittir. Yorumlar, yorumu yapan kullanıcıların kendi görüşleridir.
açılış - deneyhane - tasarılar - hakkımda - iletişim -

Sitede altyapı olarak Wordpress kullanılmıştır.