Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
DEFUN — ΠΏΠΎΡΠΎΠΆΠ΄Π°ΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ. Cons (car w) (drop-eventh (cdr w) t))))). Http://homelisp.ru/help/lisp.html. Defun drop-eventh (w &optional f). F (drop-eventh (cdr w) nil)). ΠΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Drop-eventh `(a b c d… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
1. Π¦Π΅Π»Ρ ΡΠ°Π±ΠΎΡΡ
ΠΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ Ρ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΡΠ·ΡΠΊΠ° Lisp.
ΠΠ°Π΄Π°Π½ΠΈΠ΅ Π Π°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΡΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Ρ ΡΠ΅ΡΠ½ΡΠΌΠΈ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡ ΠΎΠ΄: (a b c d e).
ΠΡΡ ΠΎΠ΄: (a c e).
ΠΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Lisp.
2. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ
3. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ
DEFUN — ΠΏΠΎΡΠΎΠΆΠ΄Π°ΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ.
COND — ΠΠ° Π²Ρ ΠΎΠ΄ ΠΎΠ½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ n — ΠΏΠ°Ρ ΠΏΡΠ΅Π΄ΠΈΠΊΠ°Ρ — Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π‘Π½Π°ΡΠ°Π»Π° ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π²ΡΠ΅ ΠΏΡΠ΅Π΄ΠΈΠΊΠ°ΡΡ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ, ΠΈ Π΅ΡΠ»ΠΈ Ρ ΠΎΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ ΠΈΡΡΠΈΠ½Π½ΡΠΉ, ΡΠΎ cond Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ ΡΡΠΈΠΌ ΠΏΡΠ΅Π΄ΠΈΠΊΠ°ΡΠΎΠΌ. ΠΡΠ»ΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠ΅Π΄ΠΈΠΊΠ°Ρ Π½Π΅ Π±ΡΠ» ΠΈΡΡΠΈΠ½Π½ΡΠΌ, ΡΠΎ ΠΎΠ½Π° Π²Π΅ΡΠ½Π΅Ρ NIL.
NULL — ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Π΅ΡΡΡ Nil, ΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ T. ΠΠΎ Π²ΡΠ΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ (ΠΊΠΎΠ³Π΄Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΠ Π΅ΡΡΡ Nil, ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Nil.
ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
Drop — eventh — ΡΡΠ½ΠΊΡΠΈΡ ΡΠ΄Π°Π»ΡΡΡΠ°Ρ ΡΡΡΠ½ΡΠ΅ Π΅Π»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°.
ΠΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
(defun drop-eventh (w &optional f)
(cond ((null w) nil)
(f (drop-eventh (cdr w) nil))
((cons (car w) (drop-eventh (cdr w) t)))))
(drop-eventh `(a b c d e))
ΠΡΠ²ΠΎΠ΄ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ Π±ΡΠ»ΠΈ ΠΈΠ·ΡΡΠ΅Π½Ρ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ·ΡΠΊΠ° Lisp, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π² Π±Π°Π·Π°Ρ Π΄Π°Π½Π½ΡΡ Π±ΠΎΠ»ΡΠ½ΠΈΡ ΠΈ ΠΈΠ½ΡΡΠΈΡΡΡΠΎΠ².
1. http://lisper.ru
2. http://homelisp.ru/help/lisp.html