>>>>> "ZK" == Zekeriya KOÇ <[EMAIL PROTECTED]> writes:
ZK> bu fonksiyon ardışık 3 tane I varsa tespit ediyor ve
ZK> pozisyonuna göre dizgeden çıkarıyor. Ama aynı pozisyona bir U
ZK> ekleme konusunda takıldım.
ZK> Bu konuda listeden fikirler gelir mi acaba ?
ZK> Soru bir listeye isteğimiz pozisyona eleman ekleme işlemini
ZK> nasıl yapabiliriz ?
Bir öneri. Liste yapisini bosverin. Karakter katari (string) veriyapisina
dönün. Sanki o bana daha müsait gibi geldi islemek icin.
Yani '(u i u i) yerine "uiui" filan demek gibi.
Böylece su tür seyler yapilabilir daha kompakt bir sekilde yapilabilir:
misal "iii" "uuiiiuu" dizisinin neresinde?
CL-USER> (search "iii" "uuiiiuu")
2
Hepsini bul ve degistir (devreye CL-PPCRE regex kitapligi girer [1]):
CL-USER> (cl-ppcre::regex-replace-all "iii" "uiiiuiiiuiii" "u")
"uuuuuu"
Böylece kod cok kisalir. Evet, cl-ppcre bagimliligi cikar, bu bir
dezavantaj ama isleri cok kolaystirir. Tabii yine liste yapisi
üzerinden yapmaya calismak Lisp'e dair daha cok sey ögrenmenizi
saglar o ayri, yani illa listede bir pozisyona bir eleman
eklemek demek, misal ben olsa bir döngü icinde listenin elemanlari
üzerinden döner, her elemani "collect" eder, ilgili pozisyona
geldigimde istedigim elemani koyar, bir atlar ve geriye kalan
elemanlarin üzerinden dönüp eklerdim, ortaya cikan yeni liste
istedigim pozisyona istedigim elemani eklemis oldugum liste
olurdu.
1- http://weitz.de/cl-ppcre/
--
Emre Sevinc
eMBA Software Developer Actively engaged in:
http://emba.bilgi.edu.tr http://ileriseviye.org
http://www.bilgi.edu.tr http://fazlamesai.net
Cognitive Science Student http://cazci.com
http://www.cogsci.boun.edu.tr
_______________________________________________
cs-lisp mailing list
[email protected]
http://church.cs.bilgi.edu.tr/lcg
http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp