Σύντομο tutorial (common) lisp.

July 1, 2010 at 06:00 - by eelvex   |   no comments (Leave a comment)

Share on RedditShare on FacebookShare on Google+Tweet about this on TwitterShare on StumbleUponPrint this page


[TOC]

functions

Ορισμός:

(defun function-name (arg1 arg2 ...)
  ...)

κλήση:

(function-name arg1 arg2 ...)

loop

Όλα τα παραπάνω συνδιάζονται. Πχ:

(loop for i below 100
       for j below 50
            when (evenp i) sum (+ i j))

Έχει το ίδιο αποτέλεσμα με τον C-κώδικα:

     sum = 0;
     for (i=0;i<100;i++)
            for (j=0;j<50;j++)
                    if (i%2 == 0)
                            sum += (i+j)

format

Το format είναι το αντίστοιχο printf της C. То ~ αντιστοιχεί στο % της printf.

macros

Δημιουργούμε το "join" που λειτουργεί σαν το "join" της Python:

> (join '(1 2 3) ", ")
1, 2, 3
> (join '(1 2 3) "--")
1--2--3
> (join '("one" (a "bee" c) "three") "--")
one--(A bee C)--three

ορίζοντας το macro join:

(defmacro join (l k)
`(let ((fmt (concatenate 'string "~{~a~^" ,k "~}")))
   (format t fmt ,l)))
No tips yet.
Be the first to tip!
Like this post? Tip me with bitcoin!

1M2w2mcUWJxVERx2GQwroizWwHqvSmsyvF

Share on RedditShare on FacebookShare on Google+Tweet about this on TwitterShare on StumbleUponPrint this page
{ Tags: , }

no comments

RSS / trackback

respond

Real Time Analytics