Yazmayi unuttum: burada onemli olan nokta, bir makroyu cagirdiginizda, arguman olarak gectiginiz hicbir form otomatik olarak calistirilmiyor (call by reference gibi). Form dogrudan, quote edilmis gibi, makro expander fonksiyona devrediliyor. Eger o fonksiyon argumani once calistirip sonucunu kullaniyorsa, fonksiyondan ayirdedemiyoruz. Ama iste goruldugu gibi setf boyle calismiyor. Yanlislarimi bir bilen duzeltsin :)
Nusret --- Emre Sevinc <[EMAIL PROTECTED]> wrote: > >>>>> "BM" == Bulent Murtezaoglu <[EMAIL PROTECTED]> > writes: > > >>>>> "VK" == volkan kezer <[EMAIL PROTECTED]> > writes: > VK> common lisp d�nyas�ndan aran�za ben de > kat�ld�m. Herkese kolay > VK> gelsin... > > BM> Hosgeldiniz. Acaba diyorum Kenny'nin "Road > to Lisp"i[1] gibi > BM> birsey mi yapsak bizim viki'de yahut baska > bir yerde? > BM> Meraklananlar nasil meraklandi filan > bilmemiz belki faydali > BM> olur. > > BM> BM > > BM> [1] > http://wiki.alu.org/The_Road_to_Lisp_Survey > > > (defvar *bm* (list :life-expectancy (random 150))) > (defvar *fz* (list :life-expectancy (random 150))) > > (defvar *bm-email-summary* "Acaba diyorum Kenny'nin > \"Road to Lisp\"i [1] gibi bir sey mi yapsak?") > (defvar *fz-thought-summary* "Acaba diyorum > Kenny'nin \"Road to Lisp\"i [1] gibi bir sey mi > yapsak?") > > (defun life-expectancy (person) > "Imagine that some mystical calculations galore" > (getf person :life-expectancy)) > > (defvar *epsilon* 0.001) > > (let ((bm-sum *bm-email-summary*) > (fz-sum *fz-thought-summary*)) > (if (string-equal bm-sum fz-sum) > (setf (getf *bm* :life-expectancy) (+ > *epsilon* (getf *fz* :life-expectancy))))) > > > *Soru*: Son ifade s�yle yazilirsa calismaz: > > (let ((bm-sum *bm-email-summary*) > (fz-sum *fz-thought-summary*)) > (if (string-equal bm-sum fz-sum) > (setf (life-expectancy *bm*) (+ *epsilon* > (life-expectancy *fz*))))) > > > C�nk�: > > CL-USER> (setf (getf *fz* :life-expectancy) 50) > 50 > > oldugu halde > > CL-USER> (setf (life-expectancy *fz*) 50) > > The function (SETF LIFE-EXPECTANCY) is undefined. > [Condition of type UNDEFINED-FUNCTION] > > > Neden? > > > > -- > 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 > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com _______________________________________________ cs-lisp mailing list [email protected] http://church.cs.bilgi.edu.tr/lcg http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp

