> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:cs-lisp-
> [EMAIL PROTECTED] On Behalf Of aykut "ÿffffe7aÿfffff0layan
> Sent: Tuesday, November 06, 2007 10:53 AM
> To: lisp grup
> Subject: [cs-lisp] re:4: "defun" kullanmayi denemistim zaten..
> 
> (defun akor-salla
>                 (let* ((t (random 116))
>                        (m (+ t (random 3) 2))
>                        (d (+ t (random 3) 5)))
>                   (list t m d)))
> AKOR-SALLA
> CG-USER(3): (akor-salla)
> Error: AKOR-SALLA got 0 args, wanted 3 args.
> 
> ||"defun" kullan cevabinin sonucu.||

Eger verdigim cevaptaki Lisp kilavuzlarini takip edersen, misal HyperSpec'i, 
bir ornekte goreceksin ki:

(defun recur (x)
  (when (> x 0)
    (recur (1- x)))) =>  RECUR

Burada recur, x isimli bir arguman aliyor. Eger fonksiyon hic arguman almiyorsa 
o zaman arguman listesi bos bir liste olacaktir, yani:

(defun akor-salla ()
 ...

seklinde baslamak icap eder. Dolayisi ile su sekilde yazarsak calistirabiliriz:

(defun akor-salla ()
    (let* ((z (random 116))
           (m (+ z (random 3) 2))
           (d (+ z (random 3) 5)))
      (list z m d)))

CG-USER(1): (akor-salla)
(20 22 27)
CG-USER(2): (akor-salla)
(36 40 43)
CG-USER(3): (akor-salla)
(14 17 19)

Bu bilgi yeterli oldu mu acaba?


--
Emre Sevinc

e-MBA Software Development @ Istanbul Bilgi University
http://www.bilgi.edu.tr
http://www.bilgiemba.net

http://www.cogsci.boun.edu.tr
http://ileriseviye.org/blog
http://fazlamesai.net
http://cazci.com
_______________________________________________
cs-lisp mailing list
cs-lisp@cs.bilgi.edu.tr
http://church.cs.bilgi.edu.tr/lcg
http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp

Cevap