







| Použití funkce cond míst funkce abs: | |||||
| (cond | |||||
| ((minusp a) (- a)) | |||||
| (t a) | |||||
| ) | |||||
| Je-li hodnota v proměnné a záporná je převedena na kladné číslo, jinak je vráceno rovnou kladné číslo. | |||||
| Použití funkce cond, aby simulovala výstup funkce case (jako v PASCALU): | |||||
| (cond | |||||
| ((= s "Y") 1) | |||||
| ((= s "y") 1) | |||||
| ((= s "N") 0) | |||||
| ((= s "n") 0) | |||||
| (t nil) | |||||
| ) | |||||
| Je-li řetězec s roven "Y" nebo "y" vrátí funkce 1, je-li řetězec roven "N" "n" vrátí funkce 0. Nenastane-li ani jeden z případů je výsledek rovný nil. | |||||

| Mějme definované proměné: | |||||
| (setq f1 '(a b c)) | |||||
| (setq f2 '(a b c)) | |||||
| (setq f3 f2) | |||||
| Porovnání f1 a f3: | |||||
| (eq f1 f3) | |||||
| funkce vrátí nil - protože f1 a f3, i když obsahují stejné hodnoty neukazují na stejný seznam | |||||
| Porovnání f3 a f2 | |||||
| (eq f3 f2) | |||||
| funkce vrátí T - protože f3 a f2 ukazují na stejný seznam | |||||
Podívej se na funkci equal pro porovnání funkce!

| Mějme definované proměné: | |||||
| (setq f1 '(a b c)) | |||||
| (setq f2 '(a b c)) | |||||
| (setq f3 f2) | |||||
| (setq a 1.123456) | |||||
| (setq b 1.123457) | |||||
| Porovnání f1 a f3: | |||||
| (eq f1 f3) | |||||
| funkce vrátí T | |||||
| Porovnání f3 a f2: | |||||
| (eq f3 f2) | |||||
| funkce vrátí T | |||||
| Porovnání a a b: | |||||
| (eq a b) | |||||
| funkce vrátí nil - hodnoty se liší o 0.000001 | |||||
| Porovnání a a b: | |||||
| (eq a b0.000001) | |||||
| funkce vrátí T - je definována tolerance 0.000001 | |||||



| (repeat int [expr...]) | ||
| Argumenty: | ||
| int | - kladné celé číslo | |
| expr | - jeden nebo více atomů nebo výrazů | |
| Popis: | ||
| - opakovaně vyhodnocuje výraz, počet opakování určuje argument int | ||
| Návratová hodnota: | ||
| - hodnota posledního výrazu nebo atomu | ||
| - nil - pokud není specifikována expr | ||
| Příklady: | ||
| (setq a 10 b 100) | ||
| vrací 100 | ||
| vrací 500 | ||
| po skončení je a=50, b=500 | ||
| (repeat 100 "Me" "You") | ||
| vrací "You" | ||

| Následující úsek programu volá 10x funkci some-func, během volání je zvětšována hodnota pomocné proměné test: | |||||
| (setq test 1) | |||||
| (while (<= test 10) | |||||
| (some-func test) | |||||
| (setq test (1+ test)) | |||||
| ) | |||||
