Selamlar;

Öncelikle yeni gelen arkadaşımıza hoşgeldin diyeyim.

Sorunun cevabı;

çünkü global değişkenler parametrelerden önce gelmeli die düşünüyorum.

attım belki tutar:)




Thu, 06 Jul 2006 16:28:43 +0300 tarihinde Emre Sevinc <[EMAIL PROTECTED]> şöyle yazmış:

"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?






--
Opera e-posta programı: http://www.opera.com/m2/

_______________________________________________
cs-lisp mailing list
[email protected]
http://church.cs.bilgi.edu.tr/lcg
http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp

Cevap