Рекурсивный 'участник -'

Обсуждение Общей Шепелявости

Рекурсивный 'участник -'

»суббота марта :

Я пытаюсь написать 'участнику -' функции, проверить, является ли элемент членом списка или нет.

Моя первая попытка, повторяющийся, довольно легка:
Кодекс: Выберите все
( - ( -)
( ( ( ( -)))
'
')


Теперь я хочу сделать рекурсивную версию.
Кодекс: Выберите все
( - ( -)
( ( ( -))
'
(- ( -))))


Конечно это только работает, если элемент - действительно член списка.
Если элемент не будет, то эта функция не будет заканчиваться.
Как установить это?
Должности:
Присоединенный: пятница октября :

Ре: Рекурсивный 'участник -'

»суббота марта :

также закончите, когда список пуст? и Ваша повторяющаяся версия действительно не рассчитывает; это только обертывает (странно) существующую ранее функцию. и не указывайте или НОЛЬ.

Я попытался бы использовать , чтобы написать надлежащую повторяющуюся версию. Тогда рекурсивная версия должна быть прямой.
Должности:
Присоединенный: суббота августа :
Местоположение: Сомервилл, Массачусетс

Ре: Рекурсивный 'участник -'

»воскресенье марта :

написал:
Кодекс: Выберите все
( - ( -)
( ( ( -))
'
(- ( -))))


Конечно это только работает, если элемент - действительно член списка.
Если элемент не будет, то эта функция не будет заканчиваться.
Как установить это?:?

Проблема состоит в том, что, когда Вы добираетесь до конца списка, Вы звоните:
Кодекс: Выберите все
(- ( '(-)))

куда (командир '(последний элемент)) возвращает НОЛЬ.

Тогда Вы проверяете ( элемент (автомобильный НОЛЬ)), но (автомобильный НОЛЬ) НОЛЬ, и ( элементарный НОЛЬ) ложно, таким образом Вы переходите:
Кодекс: Выберите все
(- ( ))

Но (НОЛЬ командира) также НОЛЬ (так же, как (командир '(последний элемент)) НОЛЬ), таким образом Вы входите в бесконечную петлю.

Поскольку сказал, Вы должны проверить сначала, чтобы видеть, пуст ли список прежде, чем сделать другие чеки.

Между прочим, Ваша первая версия могла быть написана как это:

Кодекс: Выберите все
( - ( -)
( ( -)
))
Должности:
Присоединенный: воскресенье июня :


Возвратитесь к Общей Шепелявости

Кто онлайн

Пользователи, просматривающие этот форум: Никакие зарегистрированные пользователи и гость