Benin algılamakta en zorluk çektiğim kavramdı. Ancak öğrenince çok çok işe yarıyor.
(define (lst-length lst)
(if (null? lst)
0
(+ 1 (lst-length (cdr lst)))))
Kodu tanımlayacak olursak (null? lst) lst değişkeninde tuttuğumuz listenin boş olup olmadığını kontrol ediyor. Boş listenin eleman sayısının 0 olduğunu biliyoruz. Listemiz genelde ilk halinde boş olmayacağı için if condition direk #f verip 2. satıra geçecek. özyinelemenin can damarı aslında burda. Biz 1 eksik elemanlı listenin eleman sayısıyla 1i topluyoruz. Sonra tekrar 1 eksik elemanlı listenin 1 elemanını daha çıkartıp, o listenin eleman sayısıyla topluyoruz. Taki (null? lst) #t olana kadar. Ozamanda zaten fonkiyon 0 verecek ve tüm o 1leri toplayacak. size tavsiyem bu konu hakkında çok düşüünün elinizde olan örnekleri tekrar tekrar uygulayın.
Bugün debiana drschemein son versiyonunu yükleyebilmenin sevincini yaşarken birden hayal kırıklığına uğradım. Son versiyonu yüklemek istememdeki amaç Tevhik hocanın verdiği slaytlar eski sürümde çalışmıyordu ve debian depolarında da eski sürüm mevcut idi. Ve nedense ben www.drscheme.org adresinden indirdiğim shel script halindeki kurulum dosyasını bir türlü kuramıyordum. Ve sonunda kurdum ve baktımki slaytlar bu sefer açıldı ancak 1sn sonra çakıldı. Ellerim titriyor yazamıyorum gerisini….. Hocam hocam yapılırmıydı bu bize hocam…
Madem tekrardan scheme öğrenmeye başladım o konu hakkında braz yazı yazalım değilmi. İşe bir kitap ile başlayalım.
Öncelikle scheme kitaplarıyla başlasak mantıklı olacak gibi geliyor.scheme hakkında birçok kitap bulunabilir fakat ben aramada ilk karşıma çıkan seçenekleri burda vereceğim biraz google güvenilir gibi geldi bu konuda.
How to Design Programs // Dr scheme projesiyle birlikte yürüyen bir kitap bu açıdan en sağlam kaynaklardan biri olduğu görüşündeyim. Sitesi aşağıda. Site üzerinden e-book olarak kitaba ulaşabilirsiniz.
http://www.htdp.org
The Scheme Programming Language // Scheme için kullandığım tek kaynaktı. Ancak tek kaynak hiç bir şekilde yetmiyor.
Aynı şekilde site üzerinden bu kitabada ulaşabilirsiniz.
http://www.scheme.com/tspl3/
Teach Yourself Scheme in Fixnum days // Yeni başlayanlar için iyi bir başlangıç olacağını düşünüyorum
http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme.html
Ayrıca
http://www.yollu.com/documents/programming/scheme
adresinden scheme hakkındaki kitapları sıkıtırılmış haliyle indirebilirsiniz
Kitapları bitirdik sıra geldi internet sitelerine
Dr.Scheme Ortamını indirebileceğimiz ve onunla ilgili hatta scheme ile ilgili çeşitli kaynaklara ulaşabileceğimiz bir site.
http://www.drscheme.org
Son olarakta schemers
Scheme programlama dili hakkında son haberleri, kütüphaneleri vs. bulabileceğiniz bir site.
http://www.schemers.org/