| (acad _strlsort list) | ||
| Argumenty: | ||
| list | - seznam řetězců, které mají být seřazeny | |
| Popis: | ||
| - seřadí seznam řetězců v abecedním pořádku | ||
| Návratová hodnota: | ||
| - list - v abecedním pořádku | ||
| - nil - v případě nedostatku paměti nebo špatném typu seznamu | ||
| Příklady: | ||
| (setq mos '("Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec")) | ||
| vrací ("Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec") | ||
| (acad_strlsort mos) | ||
| vrací ("Apr" "Aug" "Dec" "Feb" "Jan" "Jul" "Jun" "Mar" "May" "Nov" "Oct" "Sep") | ||


| (assoc element alist) | ||
| Argumenty: | ||
| element | - klíč elementu v asociačním seznamu | |
| alist | - prohledávaný asociační seznam | |
| Popis: | ||
| - hledá prvek v asociačním seznamu | ||
| Návratová hodnota: | ||
| - nalezená hodnota z asociačního seznamu - proběhlo-li vše v pořádku | ||
| - nil - není nalezena klíčová hodnota | ||
| Příklady: | ||
| (setq al '((name box) (width 3) (size 4.7263) (depth 5))) | ||
| vrací ((NAME BOX) (WIDTH 3) (SIZE 4.7263) (DEPTH 5)) | ||
| (assoc 'size al) | ||
| vrací (SIZE 4.7263) | ||
| (assoc 'weight al) | ||
| vrací nil | ||




| (foreach name list [expr...]) | ||
| Argumenty: | ||
| name | - proměnná zastupující prvky v seznamu (vždy jeden) | |
| list | - procházený seznam | |
| expr | - výraz, který má být vypočítán pro každý element v seznamu list | |
| Popis: | ||
| - vypočítá výraz pro všechny členy seznamu | ||
| Návratová hodnota: | ||
| - výsledek posledního výrazu | ||
| - nil - nejsou-li specifikovány žádné výrazy | ||
| Příklady: | ||
| Tisk všech elementů v seznamu: | ||
| (foreach n '(a b c) (print n)) | ||
| vrací A | ||
| vrací B | ||
| vrací C C | ||
| Vytiskne všechny prvky A B C a vrátí C | ||

| (last list) | ||
| Argumenty: | ||
| list | - seznam | |
| Popis: | ||
| - zjištění posledního elementu v seznamu | ||
| Návratová hodnota: | ||
| - atom nebo seznam | ||
| Příklady: | ||
| (last '(a b c d e)) | ||
| vrací E | ||
| (last '(a b c (d e))) | ||
| vrací (D E) | ||

Podívej se na funkci vl-list-length.

Podívej se na funkce quote, vl-list* a vl-list-length.

| (listp item) | ||
| Argumenty: | ||
| item | - libovolný atom, seznam nebo výraz | |
| Popis: | ||
| - zjištění zda je položka seznam | ||
| Návratová hodnota: | ||
| - T - jestliže je položka item seznam | ||
| - nil - v opačném případě | ||
| Příklady: | ||
| (listp '(a b c)) | ||
| vrací T | ||
| (listp 'a) | ||
| vrací nil | ||
| (listp 4.343) | ||
| vrací nil | ||
| (listp nil) | ||
| vrací T | ||
| (listp (setq v1 '(1 2 43))) | ||
| vrací T | ||
Podívej se na funkce vl-list* a vl-list-length.

| (mapcar function list1... listn) | ||
| Argumenty: | ||
| function | - funkce | |
| list1... listn  | - jeden nebo více seznamů | |
| - počet seznamů musí odpovídat počtu argumentů požadovaných funkcí function | ||
| Popis: | ||
| - vrátí seznam výsledků vypočítaných funkcí provedenou nad individuálními elementy seznamu nebo seznam je dodán jako argument funkci | ||
| Návratová hodnota: | ||
| - seznam | ||
| Příklady: | ||
| (setq a 10 b 20 c 30) | ||
| vrací 30 | ||
| (mapcar '1+ (list a b c)) | ||
| vrací (11 21 31) | ||
| odpovídá sekvenci příkazů: | ||
| (1+ a) | ||
| (1+ b) | ||
| (1+ c) | ||



| (reverse list) | ||
| Argumenty: | ||
| list | - seznam | |
| Popis: | ||
| - přehodí pořadí prvků v seznamu | ||
| Návratová hodnota: | ||
| - seznam | ||
| Příklady: | ||
| (reverse '((a) b c)) | ||
| vrací (C B (A)) | ||

| (subst newitem olditem lst) | ||
| Argumenty: | ||
| newitem  | - atom nebo seznam | |
| olditem | - atom nebo seznam | |
| list | - seznam | |
| Popis: | ||
| - vyhledá v seznamu všechny staré položky (olditem) a vrátí kopii seznamu, kde jsou nalezené staré položky nahrazeny novými položkami (newitem) | ||
| Návratová hodnota: | ||
| - změněný seznam - v případě, že existovali položky olditem | ||
| - původní seznam - v případě, že nebyla nalezena ani jedna položka olditem | ||
| Příklady: | ||
| (setq sample '(a b (c d) b)) | ||
| vrací (A B (C D) B) | ||
| (subst 'qq 'b sample) | ||
| vrací (A QQ (C D) QQ) | ||
| (subst 'qq 'z sample) | ||
| vrací (A B (C D) B) | ||
| (subst 'qq '(c d) sample) | ||
| vrací (A B QQ B) | ||
| (subst '(qq rr) '(c d) sample) | ||
| vrací (A B (QQ RR) B) | ||
| (subst '(qq rr) 'z sample) | ||
| vrací (A B (C D) B) | ||

| (vl-consp list-variable) | ||
| Argumenty: | ||
|  list-variable | - seznam | |
| Popis: | ||
| - určí je-li nebo není-li seznam rovný hodnotě nil | ||
| - funkce pozná zda proměnná obsahuje definici seznamu | ||
| Návratová hodnota: | ||
| - T - parametr je seznam různý od nil | ||
| - nil - v opačném případě | ||
| Příklady: | ||
| _$ (vl-consp nil) | ||
| vrací nil | ||
| _$ (vl-consp t) | ||
| vrací nil | ||
| _$ (vl-consp (cons 0 "LINE")) | ||
| vrací T | ||

| (vl-every predicate-function list [list]...) | ||||
| Argumenty: | ||||
| predicate-function | - testovací funkce, libovolná funkce, která akceptuje tolik argumentů kolik je seznamů list a vrátí T pro každou uživatelem specifikovanou podmínku | |||
| - možné tvary funkce: | ||||
| - jméno funkce | ||||
| - '(LAMBDA (A1 A2) ...) | ||||
| - (FUNCTION (LAMBDA (A1 A2) ...)) | ||||
| list | - testovaný seznam | |||
| Popis: | ||||
| - ověří zda výrok je pravdivý pro každou kombinaci elementů | ||||
| Návratová hodnota: | ||||
| - T - když predicate-function vrací hodnoty různé od nil pro každou kombinaci elementů | ||||
| - nil - v opačném případě | ||||
| Příklady: | ||||
| Zjištění zda existují prázdné soubory v aktuálním adresář: | ||||
| _$ (vl-every '(lambda (fnm) (> (vl-file-size fnm) 0)) | ||||
| (vl-directory-files nil nil 1) ) | ||||
| vrací T | ||||
| Ověří zda je seznam v proměnné TEST seřazen podle "<=": | ||||
| _$ (setq nlst (list 0 2 pi pi 4)) | ||||
| vrací (0 2 3.14159 3.14159 4) | ||||
| _$ (vl-every '<= nlst (cdr nlst)) | ||||
| vrací T | ||||
| _$ (vl-every '= '(1 2) '(1 2 3)) | ||||
| vrací T | ||||
| $ (vl-every '= '(1 2) '(1 3)) | ||||
| vrací nil | ||||

Podívej se na funkci list.

Podívej se na funkci vl-string->list.

Podívej se na funkci listp.

| (vl-member-if predicate-function list) | |||
| Argumenty: | |||
| predicate-function | - testovací funkce, libovolná funkce, která akceptuje jeden argument a vrátí T pro každou uživatelem specifikovanou podmínku | ||
| - možné tvary funkce: | |||
| - jméno funkce | |||
| - '(LAMBDA (A1 A2) ...) | |||
| - (FUNCTION (LAMBDA (A1 A2) ...)) | |||
| list | - testovaný seznam | ||
| Popis: | |||
| - určí je-li výrok pravdivý pro jeden z členů seznamu | |||
| Návratová hodnota: | |||
| - seznam - začíná prvkem, který splnil podmínku a pokračuje do konce původního seznamu | |||
| - nil - žádný element nesplnil podmínku | |||
| Příklady: | |||
| Nakreslení čáry: | |||
| _$ (command "_.LINE" '(0 10) '(30 50) nil) | |||
| vrací nil | |||
| Vrácení asociačního seznamu popisujícího entitu, je-li entita čára: | |||
| _$ (vl-member-if '(lambda (x) (= (cdr x) "AcDbLine")) | |||
| (entget (entlast))) | |||
| vrací ((100 . "AcDbLine") (10 0.0 10.0 0.0) (11 30.0 50.0 0.0) (210 0.0 0.0 1.0)) | |||
Podívej se na funkci vl-member-if-not.

Podívej se na funkci vl-member-if.

| (vl-position symbol list) | |||
| Argumenty: | |||
| symbol | - libovolná značka AutoLISPu | ||
| list | - true seznam | ||
| Popis: | |||
| - zjistí index specifikované položky seznamu | |||
| Návratová hodnota: | |||
| - integer - index pozice symbolu symbol v seznamu list | |||
| - nil - symbol symbol neexistuje v seznamu | |||
| Příklady: | |||
| _$ (setq stuff (list "a" "b" "c" "d" "e")) | |||
| vrací ("a" "b" "c" "d" "e") | |||
| _$ (vl-position "c" stuff) | |||
| vrací 2 | |||

| (vl-remove element-to-remove list) | |||
| Argumenty: | |||
| element-to-remove | - hodnota elementu, který má být vyjmut | ||
| - může být libovolný datový typ LISPu | |||
| list | - seznam | ||
| Popis: | |||
| - vymaže prvky ze seznamu | |||
| Návratová hodnota: | |||
| - seznam list mimo prvky odpovídající prvkům k vymazání element-to-remove | |||
| Příklady: | |||
| _$ (vl-remove pi (list pi t 0 "abc")) | |||
| vrací (T 0 "abc") | |||

| (vl-remove-if predicate-function list) | |||
| Argumenty: | |||
| predicate-function | - testovací funkce, libovolná funkce, která akceptuje jeden argument a vrátí T pro každou uživatelem specifikovanou podmínku | ||
| - možné tvary funkce: | |||
| - jméno funkce | |||
| - '(LAMBDA (A1 A2) ...) | |||
| - (FUNCTION (LAMBDA (A1 A2) ...)) | |||
| list | - testovaný seznam | ||
| Popis: | |||
| - získá všechny prvky uvedeného seznamu, které selžou při testovací funkci | |||
| Návratová hodnota: | |||
| - seznam obsahující všechny prvky ze seznamu list, u kterých funkce predicate-function vrací nil | |||
| Příklady: | |||
| _$ (vl-remove-if 'vl-symbolp (list pi t 0 "abc")) | |||
| vrací (3.14159 0 "abc") | |||

| (vl-remove-if-not predicate-function list) | |||
| Argumenty: | |||
| predicate-function | - testovací funkce, libovolná funkce, která akceptuje jeden argument a vrátí T pro každou uživatelem specifikovanou podmínku | ||
| - možné tvary funkce: | |||
| - jméno funkce | |||
| - '(LAMBDA (A1 A2) ...) | |||
| - (FUNCTION (LAMBDA (A1 A2) ...)) | |||
| list | - testovaný seznam | ||
| Popis: | |||
| - získá všechny prvky uvedeného seznamu, které projdou přes testovací funkci | |||
| Návratová hodnota: | |||
| - seznam obsahující všechny prvky ze seznamu list, u kterých funkce predicate-function vrací ne-nilovou hodnotu | |||
| Příklady: | |||
| _$ (vl-remove-if-not 'vl-symbolp (list pi t 0 "abc")) | |||
| vrací (T) | |||
Podívej se na funkci vl-member-if.

| (vl-some predicate-function list [list]...) | |||
| Argumenty: | |||
| predicate-function | - testovací funkce, libovolná funkce, která akceptuje tolik argumentů kolik je seznamů list a vrátí T pro každou uživatelem specifikovanou podmínku | ||
| - možné tvary funkceí: | |||
| - jméno funkce | |||
| - '(LAMBDA (A1 A2) ...) | |||
| - (FUNCTION (LAMBDA (A1 A2) ...)) | |||
| list | - testovaný seznam | ||
| Popis: | |||
| - kontroluje zda není výrok nil pro jednu kombinaci elementů | |||
| Návratová hodnota: | |||
| - hodnotu výroku - když predicate-function vrací hodnotu různou od nil | |||
| - nil - v opačném případě | |||
| Příklady: | |||
| Příklad ověří zda seznam nlst (číselný seznam) má rovnající se prvky v následujícím pořadí: | |||
| _$ (setq nlst (list 0 2 pi pi 4)) | |||
| vrací (0 2 3.14159 3.14159 4) | |||
| _$ (vl-some '= nlst (cdr nlst)) | |||
| vrací T | |||

| (vl-sort list comparison-function) | |||||
| Argumenty: | |||||
| list | - seznam | ||||
| comparison-function | - porovnávací funkce, libovolná funkce, která akceptuje dva argumenty a vrátí T (nebo libovolnou ne-nilovou hodnotu), když první argument předchází druhý v řadícím pořádku | ||||
| - možné tvary funkce: | |||||
| - jméno funkce | |||||
| - '(LAMBDA (A1 A2) ...) | |||||
| - (FUNCTION (LAMBDA (A1 A2) ...)) | |||||
| Popis: | |||||
| - seřadí prvky seznamu podle podmínky dané ve funkci comparison-function | |||||
| Návratová hodnota: | |||||
| - seřazený seznam list podle podmínek z funkce comparison-function. Duplicitní elementy jsou eliminovány ze seznamu | |||||
| Příklady: | |||||
| Seřazení seznamu čísel: | |||||
| _$ (vl-sort '(3 2 1 3) '<) | |||||
| vrací (1 2 3) ; | |||||
| Seřazení seznamu 2D bodů podle Y souřadnce: | |||||
| _$ (vl-sort '((1 3) (2 2) (3 1)) | |||||
| (function (lambda (e1 e2) | |||||
| (<(cadr e1) (cadr e2)) ) ) ) | |||||
| vrací ((3 1) (2 2) (1 3)) | |||||

| (vl-sort-i list comparison-function) | |||||
| Argumenty: | |||||
| list | - seznam | ||||
| comparison-function | - porovnávací funkce, libovolná funkce, která akceptuje dva argumenty a vrátí T (nebo libovolnou ne-nilovou hodnotu), když první argument předchází druhý v řadícím pořádku | ||||
| - možné tvary funkce: | |||||
| - jméno funkce | |||||
| - '(LAMBDA (A1 A2) ...) | |||||
| - (FUNCTION (LAMBDA (A1 A2) ...)) | |||||
| Popis: | |||||
| - seřadí prvky seznamu podle podmínky dané ve funkci comparison-function a vrátí indexy prvků | |||||
| Návratová hodnota: | |||||
| - seřazený seznam hodnot indexů prvků ze seznamu list podle podmínek z funkce comparison-function. Duplicitní elementy jsou eliminovány ze seznamu | |||||
| Poznámka: | |||||
| - pozor index prvního prvku je 0 !!! | |||||
| Příklady: | |||||
| Seřazení seznamu písmen sestupně: | |||||
| _$ (vl-sort-i '("a" "d" "f" "c") '>) | |||||
| vrací (2 1 3 0) | |||||
| Seřazení seznamu čísel vzestupně: | |||||
| _$ (vl-sort-i '(3 2 1 3) '<) | |||||
| vrací (2 1 3 0) | |||||
| Seřazení seznamu 2D bodů podle Y souřadnice: | |||||
| _$ (vl-sort-i '((1 3) (2 2) (3 1)) | |||||
| (function (lambda (e1 e2) | |||||
| (<(cadr e1) (cadr e2)) ) ) ) | |||||
| vrací (2 1 0) | |||||
| Seřazení seznamu symbolů: | |||||
| _$ (vl-sort-i | |||||
| '(a d c b a) | |||||
| '(lambda (s1 s2) | |||||
| (<(vl-symbol-name s1) (vl-symbol-name s2)) ) ) | |||||
| vrací (4 0 3 2 1) | |||||

Podívej se na funkci vl-list->string.
