Lisp Flashcards

(38 cards)

1
Q

(cons x y)

A

Ajoute x dans la liste y (non destructif)
> (cons ‘a ‘(b c))
> (a b c)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

(push x y)

A

Ajoute x dans la liste y (destructif)
> (push ‘a ‘(b c))
> (a b c)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

(pushnew x y)

A

Ajoute x dans la liste y s’il n’y est pas déjà (destructif)
> (pushnew ‘a ‘(b c))
> (a b c)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

(symbol-value x)

A

valeur d’un symbol (pas nombre)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

(last x)

A

Retourne une liste contenant le dernier élément de x

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

(append x y)

A

concatène deux listes (non destructif)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

(member x y)

A

Vérifie si un élément fait partie d’une liste, si oui liste à partir de la première occurrence, nil sinon
/!\ Ajouter :test ‘equal si l’élément recherché n’est pas un atome !

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

(length x)

A

Retourne le nombre d’éléments de la liste

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

(nconc x y)

A

concatène deux listes (destructif, x modifiée)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

(eq x y)

A

Egalité des pointeurs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

(equal x y)

A

Egalité aux feuilles de l’objet référencé

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

(= x y)

A

Egalité des nombres

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Prédicats

A

NUMBERP LISTP FLOATP INTEGERP NULL SYMBOLP STRINGP ATOM

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

fonction anonyme

A

((lambda (xx) (list xx xx)) ‘a)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

fonction apply

A

(apply ff 2 3 ())

fonction puis arguments, dernier = liste dont chaque element est un argument

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

fonction funcall

A

(funcall ff 2 3)

fonction puis arguments

17
Q

variable étendue aux sous fonctions

A

(declare (special x))

18
Q

variable locale

A

(let(*) ((var val) (var val))
<code>
)</code>

19
Q

variable globale

A

(defvar var init)

defparameter var new

20
Q

bloc

A

(progn <code> )</code>

(prog1 <code> ) retourne la valeur de la première expression évaluée</code></code>

21
Q

switch

22
Q

when

A

(when p a) = (unless (not p) a)

23
Q

loop

A

(loop for x in list do )
(loop for x from 1 to 100 [until ] do )
collect/count/sum… sans parenthèses !
ex : (loop for x in liste sum x)

24
Q

dolist

A

(dolist (var list [result])

)

25
dotimes
(dotimes (var count [result]) ) de 0 inclus à count exclus
26
do
(do(*) ((var init step)) (testfin) )
27
mapcar
fonction appliquée successivement au car de chaque liste (mapcar #'(lambda (l) (+ (car l) (cadr l))) '((3 7)(2 3)(2 9)(5 3))) mapc retourne seulement la premiere liste, mapcan fait nconc à la place de list
28
maplist
fonction appliquée successivement au cdr de chaque liste, mapl retourne seulement la premiere liste, mapcon fait nconc à la place de list
29
générer index
(gentemp "N")
30
(assoc x l)
Retourne la liste dans l qui commence par x | /!\ Ajouter :test 'equal si l'élément recherché n'est pas un atome !
31
opérations ensemblistes pour listes
(union l1 l2) (intersection l1 l2) destructif (nunion l1 l2) (nintersection l1 l2) destructif
32
(butlast liste)
Renvoie tout sauf le dernier élément, nbutlast destructif.
33
incrémenter/décrémenter
(incf var) (decf var) destructif
34
(pop liste)
retourne 1er élément et l'enlève de la liste
35
Test negatif, positif, paire, impaire
minusp plusp evenp oddp
36
Valeur absolue, valeur aléatoire < x
(abs x) (random x)
37
renverser une liste
(reverse liste)
38
affichage format
(format t "texte: ~S" var) 1er : t (print), nil (return string), stream (to file) ~% retour à la ligne