Common Lisp: Porovnání verzí
Smazaný obsah Přidaný obsah
Úpravy |
Úpravy, doplnění |
||
Řádek 1:
'''Common Lisp''' je rozšířením funkcionálního [[programovací jazyk|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
== Proměnné ==
K nastavení proměnných slouží příkaz ''setq''. Lokální proměnné se nastavují příkazem ''let''.
*(setq a
*(let ((
== Typy ==
Používají se zde běžné [[aritmetické operace]] (+, -, /, *, exp, sqrp, sin atd.)
*[[integer]]
Musí obsahovat znaménko (+
*[[real]]
Platí zde stejné pravidla jako u typu integer s rozdílem, že real musí obsahovat znak (.).
*[[rational]]
Používá se pro zlomky. Operace dvou
*[[complex]]
Pomocí complex lze zapsat jakýkoliv předcházející typ (#c(číselná hodnota)).
== Jiné typy ==
Řádek 25 ⟶ 23:
'''Cesty''' představují [[soubor|soubory]] a [[adresář|adresáře]] v souborovém systému.
'''Vstupní a výstupní toky''' představují zdroj [[binární|binárních]] a textových dat.
'''PRNG''' je pseudo-generátor náhodných čísle, který je vestavění v Common Lisp. Náhodný objekt představuje jedno použití zdroje [[gener8tor náhodných čísle|generátoru náhodných čísel]].▼
▲'''PRNG''' je pseudo-generátor náhodných čísle, který je vestavění v Common Lisp. Náhodný objekt představuje jedno použití zdroje [[
'''Podmínky''' představují chyby, [[vyjímka|vyjímky]] a jiné události na které program reaguje. ▼
▲'''Podmínky''' představují chyby, [[vyjímka|vyjímky]] a jiné události na které [[program]] reaguje.
== Datové struktury ==
▲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").
▲Vytvoří cons a nastaví car na 3 a cdr na 1.
'''Pole''' je
*[[ř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
'''Balíčky''' jsou symboly, které se užívají k oddělení jednotlivých částí [[program|
'''Struktury''' představují libovolné komplexní datové struktury s libovolným počtem a
'''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
== Funkce ==
===Definice funkcí===
Common Lisp podporuje [[funkce]] první třídy. Definice funkcí pomocí [[
*(defun název funkce (tělo funkce))
Místní funkce mohou být definovány pomocí příkazů ''flet'' a ''labels''.
*(Flet název funkce (tělo funkce))
===Definice generické funkce a metody===
Metody se definují pomocí makra ''defmethod''.
*(Defmethod název metody (tělo metody))
Generické funkce jsou kolekcí [[
*(Defgeneric název funkce (tělo funkce))
[[de:Common Lisp]]
[[es:Common Lisp]]
[[et:Common Lisp]]
[[fr:Common Lisp]]
[[gl:Common Lisp]]
[[ko:커먼 리스프]]
[[hr:Common Lisp]]
[[it:Common LISP]]
[[ja:Common Lisp]]
[[pl:Common Lisp]]
[[pt:Common Lisp]]
[[ro:Common Lisp]]
[[ru:Common Lisp]]
[[fi:Common Lisp]]
[[sv:Common Lisp]]
[[uk:Common Lisp]]
[[zh:Common Lisp]]
|