Common Lisp: Porovnání verzí

Smazaný obsah Přidaný obsah
Verze 5195350 uživatele 147.230.166.169 (diskuse) zrušena
Datové struktury
Řádek 1:
'''Common Lisp''' je rozšířením funkcionálního programovacího jazyku [[Lisp]] (List processing - zpracování odkazů), který je zveřejněn v [[ANSI]] (American National Standards Institute). Common Lisp by vyvinut kvůli sjednocení odlišných variant Lispu.
Jedná se o jazyk, který využívá procedurální, funkční a objektově-orientované programovací paradigmata. Obsahuje sadu nástrojů pro objektově-orientovaného [[programování]]. Další rozšiřující dialekty jsou s Common Lisp kompatibilní ([[cmlisp]], [[elisp]], [[autolisp]] atd.).
 
 
Řádek 21:
 
 
== PoleDatové struktury ==
'''Seznamy'''
Číslicový typ. Vytváří se pomocí funkce make-array. Je zde i podpora vícerozměrných polí. Pomocí funkce aref se do pole přistupuje.
Jako u téměř všech ostatních dialektů Lispu jsou seznamy ve složení conses. Tato datová struktura obsahuje dva [[slot|sloty]] car, cdr (podle "contents of address register" a "contents of decrement register").
*(cons 3 1)
Vytvoří cons a nastaví car na 3 a cdr na 1.
 
'''Pole''' je číslicový typ. Vytváří se pomocí [[funkce]] make-array. Pomocí funkce aref se do [[pole]] přistupuje. Je zde i podpora vícerozměrných polí, které lze využít pro [[matice]] při matematických operacích. Velikost pole lze dynamicky změnit v případě potřeby. Jednorozměrné pole je [[vektor]]. Jednotlivý členové pole mohou mít jakékoliv typy (i smíšené typy v jednom poli). Dva typy polí dle obsahu:
*[[řetězec]] - vektor znaků
*[[bit-vektor]] - vektor bitů
 
Příklad vytvoření pole:
*(make-array '(2 2))
Dvourozměrné pole (2x2).
*(make-array 4)
Jednorozměrné pole (4 prvky)
 
'''Hash tabulky''' ukládají [[data]] spolu s jejich [[asociace||asociacemi]]. Každý [[objekt]] v hash tabulce má svůj klíč a k němu příslušnou hodnotu.
 
'''Balíčky''' jsou symboly, které se užívají k oddělení jednotlivých částí [[program|programů]]. Samotný balíček může [[export|exportovat]] některé symboly jako součást [[rozhraní]]. Balíček může užívat i jiné balíčky.
 
'''Struktury''' představují libovolné komplexní datové s libovolným počtem a libovolným typem polí (nazývají se sloty). Struktury umožňují jednoduchou [[dědičnost]].
 
'''Třídy''' jsou podobné jako struktury. Nabízejí více dynamických vlastností a vícenásobnou dědičnost. Třídy byly do Common Lips přidány až později. Objekty vytvořené třídy se nazývají [[instance]].
 
== Související články ==
 
* [[Common Lisp]]