>>>>> "BM" == Bulent Murtezaoglu <[EMAIL PROTECTED]> writes:
>>>>> "ES" == Emre Sevinc <[EMAIL PROTECTED]> writes:
BM> [...]
ES> Tabii bu UCW belgesi ile alakasi yok merak ettim fark nasil
ES> gösterilir diye. "quote" special operator ile "list"
ES> fonksiyonu kullanilarak olusturulan liste arasinda ne fark
ES> var? Tek ve basit bir hareketle nasil gösterilir?
BM> Garantili degil ama sbcl icin, mesela:
CL-USER> (defun test () (let ((foo '(1 2 3))) (print foo) (rplaca
CL-USER> foo 3) (print foo)))
BM> ; in: LAMBDA NIL ; (RPLACA FOO 3) ; --> LET PROGN SETF ; ==> ;
BM> (SB-KERNEL:%RPLACA #:ONCE-ONLY-0 3) ; ; caught WARNING: ;
BM> Destructive function SB-KERNEL:%RPLACA called on constant
BM> data. ; See also: ; The ANSI Standard, Special Operator QUOTE
BM> ; The ANSI Standard, Section 3.2.2.3 ; ; compilation unit
BM> finished ; caught 1 WARNING condition TEST
CL-USER> (test)
BM> (1 2 3) (3 2 3)
BM> (3 2 3)
CL-USER> (test)
BM> (3 2 3) (3 2 3) (3 2 3)
BM> Compiler quoted listleri sabit data olarak kullanabiliyor,
BM> degisiklik yapilirsa programin kendisi degismis oluyor.
BM> Yukaridaki fonksyon ikinci defa cagirildiginda o program
BM> sourceunda gordugunuz (1 2 3) (3 2 3) haline gelmis oluyor
BM> mesela. Eski FAQ'da bununla ilgili birsey vardi, ama bakmadim
BM> simdi. SBCL yakaladi zaten gordugunuz gibi, ama yakalamasi
BM> sart degildi.
Detayli aciklama icin cok tesekkürler, tam da buna benzer bir
seyi kast ediyordum.
Baska türlü örnek verince pratik olarak o fark görünmüyor cünkü.
BM> Baska bir suru ornek de dusunulebilir, simdi aklima bu geldi
BM> sadece. Bu yeni baslayanlarin sIkca yapabildikleri bir hata
BM> cunku.
Ve kafa karistirici bir durum aslinda. Baslangicta, bu ince farki
göremeyenler bu belgeyi okumasin UCW'ye de hic bulasmasin mi diyecegiz?
(Denebilir tabii, prensip olarak itirazim olmaz esasen). Bu kritik bir
örnek, bir tür yarilma noktasi bence. Dikktali olmakta fayda var.
--
Emre Sevinc
eMBA Software Developer Actively engaged in:
http:www.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