Vybrané vstavané funkcie Common Lispu
Práca so zoznamami
(FIRST list) |
prvý prvok zoznamu list |
(CAR list) |
prvý prvok zoznamu list |
(REST list) |
zvyšok zoznamu list bez prvého prvku |
(CDR list) |
zvyšok zoznamu list bez prvého prvku |
(CONS arg1 arg2) |
nový s-výraz, ktorého CAR časť je arg1 a CDR časť je arg2 |
(LIST [arg1 ...]) |
zoznam, ktorého prvkami sú argi |
(APPEND list1 list2) |
zoznam obsahujúci prvky zoznamu list1 , za ktorým sú vsunuté prvky zoznamu list2 |
|
to Homepage |
|
to Teaching |
|
to FLP |
|
to the Top |
Predikáty
(ATOM arg) |
T , ak arg je atóm |
(LISTP arg) |
T , ak arg je zoznam |
(NULL arg) |
T , ak arg je NIL (prázdny zoznam) |
(NUMBERP arg) |
T , ak arg je číslo |
(SYMBOLP arg) |
T , ak arg je symbol |
(EQ arg1 arg2) |
T , ak arg1 a arg2 sú presne tie isté lispovské objekty |
(EQUAL arg1 arg2) |
T , ak pre arg1 a arg2 platí:
arg1 a arg2 sú presne tie isté lispovské objekty (EQ ) alebo
arg1 a arg2 sú čísla s rovnakou hodnotou alebo
arg1 a arg2 sú reťazce a sú identické alebo
arg1 a arg2 sú zoznamy a ich CAR a CDR časti sú zhodné (EQUAL )
|
(EVENP arg) |
T , ak arg je párne číslo |
(ODDP arg) |
T , ak arg je nepárne číslo |
(ZEROP arg) |
T , ak arg je číslo rovnajúce sa nule |
(PLUSP arg) |
T , ak arg je číslo väčšie ako nula |
(MINUSP arg) |
T , ak arg je záporné číslo |
(< [arg1 ...]) |
T , ak argumenty sú zoradené vzostupne |
(> [arg1 ...]) |
T , ak argumenty sú zoradené zostupne |
|
to Homepage |
|
to Teaching |
|
to FLP |
|
to the Top |
Špeciálne funkcie
(SET arg1 arg2) |
hodnota arg2 ; hodnota symbolu arg1 sa nastaví na hodnotu arg2 |
(SETQ symb arg) |
hodnota arg ; hodnota výrazu arg sa priradí nevyhodnotenému symbolu symb |
(QUOTE arg) |
nevyhodnotený argument arg |
(FUNCTION arg) |
funkčná väzba nevyhodnoteného arg |
(DEFUN meno args forma) |
definícia funkcie |
(COND vetva1 ...) |
vetvenie |
(PROG args f1 ... fn) |
postupnosť |
(EXIT) |
ukončenie práce s lispom |
|
to Homepage |
|
to Teaching |
|
to FLP |
|
to the Top |
Aritmetické a logické funkcie
(+ [arg1 ...]) |
suma argumentov |
(- [arg1 arg2...argn]) |
výsledok odčítania arg2 ... argn od arg1 |
(* [arg1 ...]) |
súčin všetkých argumentov |
(ABS arg) |
absolútna hodnota argumentu (čísla) |
(/ arg1 arg2) |
delenie |
(AND [arg1 ...]) |
logický súčin argumentov |
(OR [arg1 ...]) |
logický súčet argumentov |
(NOT arg) |
negácia argumentu |
|
to Homepage |
|
to Teaching |
|
to FLP |
|
to the Top |
Funkcionály
(FUNCALL #'fn arg1 ... argn) |
výsledok aplikácie funkcie fn na argumenty arg1 ... argn |
(APPLY #'fn list) |
výsledok aplikácie funkcie fn na argumenty, ktoré predstavujú prvky zoznamu list |
(MAPCAR #'fn l1...ln) |
zoznam výsledkov aplikácie funkcie fn na prvé prvky zoznamov, potom druhé prvky zoznamov, ... |
|
to Homepage |
|
to Teaching |
|
to FLP |
|
to the Top |
Vstupno/výstupné funkcie
(LOAD subor) |
presmeruje vstup z klávesnice do špecifikovaného súboru a vyhodnotí všetky v ňom zapísané formy |
(CLOSE prud) |
T , uzavrie špecifikovaný prúd, ak neexituje, vráti NIL |
(OPEN subor &KEY DIRECTION ELEMENT-TYPE) |
otvorí špecifikovaný súbor a spojí ho s novým prúdom, ktorý vráti ako hodnotu. Kľúče môžu mať tieto hodnoty:
:DIRECTION
:INPUT, :OUTPUT
:ELEMENT-TYPE
STRING-CHAR, UNSIGNED-BYTE
|
(PRINC arg [prud]) |
hodnota argumentu arg ; vypíše hodnotu bez úvodzoviek a ďalších špeciálnych symbolov na obrazovku alebo do súboru |
(PRINT arg [prud]) |
hodnota argumentu arg ; vypíše hodnotu na nový riadok (aj s prípadnými úvodzovkami) |
(PRIN1 arg [prud]) |
ako PRINT , ale nevypisuje na nový riadok |
(PPRINT arg [prud]) |
NIL , hodnotu argumentu arg "pekne" vypíše |
(READ-LINE [prud]) |
načítaný reťazec až po koniec riadku |
(READ [prud]) |
načítaný lispovský objekt |
(READ-CHAR [prud]) |
ASCII hodnota načítaného znaku |
(TERPRI [prud]) |
NIL ; zapíše nový riadok |
|
to Homepage |
|
to Teaching |
|
to FLP |
|
to the Top |
Ladenie
(DRIBBLE [subor]) |
NIL ; vstup aj výstup z/na terminál sa bude zapisovať do špecifikovaného súboru. Volanie funkcie bez argumentov spôsobí ukončenie zápisu a uzatvorenie špecifikovaného súboru |
(BREAK) |
prerušenie výpočtu |
(TRACE fn) |
nastavenie trasovacieho bodu na funkciu fn |
(UNTRACE fn) |
zrušenie trasovacieho bodu z funkcie fn |
(STEP forma) |
hodnota formy, postup vyhodnocovania sa zobrazuje |
|
to Homepage |
|
to Teaching |
|
to FLP |
|
to the Top |
|
|
|
|