Зворотний зв'язок

Функції відбору

(POSITION-IF test list). Шукає у списку list елемент, для якого ознака перевірки за тестом не є NIL.

Для обох функцій, якщо елемент, що задовольняє тесту, знайдено, повертається порядковий номер даного елемента, починаючи з 0. В іншому випадку повертається NIL.

(DEFUN POSITION (OBJ LST TEST)

(position-aux OBJ LST TEST 0) )

(DEFUN position-aux (OBJ LST TEST INDEX)

((ATOM LST) NIL)

( ((NULL TEST)

(SETQ TEST 'EQL) ) )

(FUNCALL TEST OBJ (CAR LST)) INDEX)

(position-aux OBJ (CDR LST) TEST (ADD1 INDEX)

$ (POSITION '(A B C) '((R S T) (C A B) (A B C)))

NIL

$ (POSITION '(A B C) '((R S T) (C A B) (A B C)) 'EQUAL)

2

$ (POSITION-IF 'PLUSP '(-2.5 0 3.7 -5.3))

2Асоциативним списком називається список пар (тобто cons-ів), які використовуються у muLISP для зв’язку ключа та об’єкта. Функції ASSOC та ASSOC-IF належать класу функцій відбору, які дають можливість отримати доступ до об’єкта, пов’язаному з ключем, який задовольняє тесту.

9. (ASSOC key alist test). Виконує лінійний пошук в асоциативному списку пари, для якої при порівнянні її CAR- елемента з ключем key за тестом test ознака не дорівнює NIL. Якщо тест-аргумент дорівнює NIL або не задан, ASSOC використовує EQL-тест.

(ASSOC-IF test alist). Шукає в асоциативному списку пару, для якої ознака перевірки її CAR - елемента за тестом не є NIL.

Для обох функцій, якщо пара, що задовольняє тесту, знайдена, ця пара выдається, інакше повертається NIL.

(DEFUN ASSOC (KEY ALIST TEST)

((ATOM ALIST) NIL)

((ATOM (CAR ALIST))

(ASSOC KEY (CDR ALIST) TEST) )

( ((NULL TEST)


Реферати!

У нас ви зможете знайти і ознайомитися з рефератами на будь-яку тему.







Не знайшли потрібний реферат ?

Замовте написання реферату на потрібну Вам тему

Замовити реферат