Common Lisp: Porovnání verzí
Smazaný obsah Přidaný obsah
funkční -> funkcionální (programování) značka: editace z Vizuálního editoru |
oprava mnoha linků na rozcestník |
||
Řádek 23:
* '''character '''- Neboli [[písmeno]], představuje jeden [[#printer|tisknutelný]] znak.
* '''number '''- Je základní číselný typ. Lze s ním provádět veškeré běžné [[aritmetika|aritmetické]] [[Operace (matematika)|operace]] ([[sčítání|+]], [[odčítání|-]], [[dělení|/]], [[násobení|*]], [[mocnění|exp]], [[odmocnění|sqrt]], [[absolutní hodnota|abs]]...) a základní porovnání (=) pro zjištění číselné [[Rovnost (matematika)|rovnost]]i.
=== Numerické typy ===
* [[real|'''real''']] - Je subtyp od ''number''; Představuje [[reálná čísla]], některá však v '''CL''' nemusí být vyjádřitelná přesně (např. [[iracionální čísla]]). Pouze čísla typu ''real'' mohou být [[uspořádání|uspořádána]] pomocí funkcí <, > , <= , a >=.
* '''complex''' - Je subtyp od ''number''; Pomocí complex lze zapsat [[komplexní číslo]] v [[komplexní rovina|kartézských souřadnicích]], nebo jakýkoliv předcházející číselný typ. Číslo lze přímo zadat pomocí [[#reader|makrocharakteru]] #C. např.:
Řádek 35 ⟶ 36:
== Jiné typy ==
''Cesty'' představují [[soubor]]y a [[Adresář (informatika)|adresáře]] v souborovém systému.
Řádek 42:
''PRNG'' je pseudo-generátor náhodných čísel, který je vestavěn v Common Lisp. Náhodný objekt představuje jedno použití zdroje generátoru náhodných čísel.
''Podmínky'' představují chyby, [[
== Datové struktury ==
Řádek 48:
* (cons 3 1) - vytvoří cons a nastaví car na 3 a cdr na 1.
''[[Pole (datová struktura)|Pole]]'' je číselný typ. Vytváří se pomocí [[Podprogram|funkce]] ''make-array''. Pomocí funkce ''aref'' se do něho 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 měnit v případě potřeby. Jednorozměrné pole je [[vektor]]. Jednotlivé prvky pole mohou být jakékoliv typu (i smíšené typy v jednom poli). Dva typy polí dle obsahu:
* [[Textový řetězec|řetězec]] – vektor znaků
* bit-vektor – vektor bitů
Řádek 56:
* (make-array 4) – jednorozměrné pole (4 prvky)
''Hash tabulky'' ukládají [[data]] spolu s jejich [[Asociace (informatika)|asociace]]mi. Každý [[Instance třídy|objekt]] v hash tabulce má svůj klíč (key) a k němu příslušnou hodnotu (value).
''Balíčky'' jsou symboly, které se užívají k oddělení jednotlivých částí [[Počítačový program|program]]u. Samotný balíček může [[Vývoz|export]]ovat některé symboly jako součást [[Rozhraní (informatika)|rozhraní]]. Balíček může sám užívat i jiné balíčky.
''Struktury'' představují libovolné komplexní datové struktury s libovolným počtem a 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 Lisp přidány až později. Objekty vytvořené třídy se nazývají [[Instance třídy|instance]].
== Funkce ==
=== Definice funkcí ===
Common Lisp podporuje [[Podprogram|funkce]] první třídy. Definice funkcí pomocí [[
(defun název_funkce (argumenty) tělo_funkce)
Řádek 74 ⟶ 73:
=== Definice generické funkce a metody ===
Metody se definují pomocí makra ''defmethod''.
* (Defmethod název metody (tělo metody))
|