polecenia lisp

http://bacon.umcs.lublin.pl/~pgiza/dyd/lispouczek/lk.php-nr=7.htm

Setq – przechowywanie zwykłych zmiennych

Setf – przechowywanie zwykłych zmiennych i uogólnionych

(Defun nazwa (parametry)) – tworzy funkcję

Cons – dodaje element do listy

Car – głowa

Cdr – ogon

List – tworzy liste

First, secondo, third, (lista) – zwracają pierwszy, drugi, trzeci element listy

Rest – zwraca listę zawierającą wszystko oprócz pierwszego elementu

Reverse – zwraca odwróconą listę

Last – zwraca ostatnią komórkę listy

Remove – usuwa rzecz z listy

Appena – łączy dwie listy

Member – sprawdza czy cos jest na liscie

Find – wypisuje liste na której są podane elementy

Subsetp – sprawdza czy lista zawiera elementy odp to nill lub T

Intersection – część wspólna dwóch zbiorów

Union – suma zbiorów

Set-difference – różnica zbiorów

Print – drukowanie

Numberp – sprawdza czy argument jest typu liczbowego T/NILL

Equal – sprawdza czy dwa argumenty są równe T/NILL

Listp – sprawdza czy wejście jest listą T/Nill

(If warunek prawda fałsz) – instrukcja warunkowa

(if (symbolp ’slowo) (* 3 4) (+ 3 4)) => 12

When , Unless – instrukcje warunkowe z dowolną liczbą instrukcji

Case – wiele odpowiedzi
(case x

(a 5)

((d e) 7)

((b f) 3)

(otherwise 9)

) => 3

Cond – pierwszy element to warunek i cond szuka pierwszej klauzuli która spelnia ten warunek

(cond

((evenp a) a) ;jeśli a jest parzyste, zwroć a

((> a 7) (/ a 2)) ;inaczej, jeśli a jest > niŜ 7, zwroć a/2

((< a 5) (- a 1)) ;inaczej, jeśli a jest < niŜ 5, zwroć a-1

(t 17) ;inaczej zwroć 17

)

(cond ((+ 3 4))) => 7

: - poczatek slowa kluczowego

Oddp – przyjmuje dokładnie jedno wejście

Posnump – zwraca T jeżeli wejście jest liczbą i jest pozytywną

Plusp – sprawdza czy liczba jest dodatnia

Compare – porownuje dwie liczby mowi która mniejsza a która wieksza

(defun compare (x y)

(cond ((equal x y) ’liczby-sa-rowne)

((< x y) ’pierwsza-liczba-jest-mniejsza)

((> x y) ’pierwsza-liczba-jest-wieksza)

)

)

Eq – porownuje symbole i obiekty poprzez adres

Eql – sprawdza czy liczby/znaki są jednego typu

Equalp –porownuje lancuchy – mogą mieć rozna wielkość liter

= - porownuje liczby rocznego typu np. =1 1.0 T

Let – zmienne lokalne

Defconstant – stałe

Defparametr – zmienne globalne

dotimes. - petla

(dotimes (zmienna_n opcjonalna-zwracana-wartość)

wyrażenie

...)

Dolist - petla

(dolist (e '(1 2 3 4 5 6) opcjonalna-zwracana-wartość)

wyrażenie

...)

Pętla do.

(do ((zmienna1 wartość-początkowa step)

...

(zmienna2 wartość-początkowa step))

(warunek-zakończenia wartość-zwracana)

wyrażenia

...)

Pętla loop w prostej postaci:

(loop

wyrażenie

...)

Funkcja listp zwraca prawdę jeśli argument jest listą.

Funkcja endp zwraca wartość prawdy jeśli jest to koniec listy.

(defstruct struct p1 p2 p3) – tworzy structure

(defclass klasa () – tworzenie klas

(a b c))

(setq obj (make-instance 'klasa)) – nowy obiekt w klasie

(setf (slot-value obj 'a) "Lorem") – odwołanie sie do obiektu w klasie

(print (slot-value obj 'a))

=> "Lorem"

(defun factorial (n)

(if (zerop n) 1

(* n (factorial (- n 1))))) silnia rekurencyjna

(defun szescian (x)

(*(* x x) x))

SZESCIAN

CL-USER> (mapcar #'szescian '(1 2 3))

(1 8 27)

(defun jaka (x)

(if (oddp x) 1 0)) – jaka zwzraca 0 gdy liczba jest parzysta i 1 gdy nieparzysta

(maplist (lambda (x) (list 'start x 'end)) '(1 2 3 4)) lista list ważne !!


Wyszukiwarka

Podobne podstrony:
105 polecenie RD
120 polecenia informacyjne
Polecenia lista 5
polecenie przelewu i polecenie zapłaty schemat działania
6 1 dokumentacja polecenie, BHP
Kwasy i ich pochodne polecenai, Szkoła, Biologia
korespondencja polecenia, Weterynaria Lublin, INFORMATYKA, cw3, cw2
polecenia, S
POLECENIA WORD B
Kolorujemy i rysujemy zgodnie z poleceniami
Laboratorium 11 5 5 Dokumentowanie sieci z wykorzystaniem polece us ugowych
Potwierdzenie polecenia 620122
Polecenia2
Polecenia 4 id 371362 Nieznany
L3 Polecenia rysunkowe i edycyjne cd
lista poleceń, Politechnika Lubelska, Studia, Studia, sem I - II, materialy na studia
Linux - polecenia, ★Informatyka★, ● SOiSK, Linux

więcej podobnych podstron