Мне нужно понять, как я могу получить доступ к входу функции, которая передается другой функции в качестве входа.
Например; У меня есть функция f, которая просто делает (define f (lambda (x) (if (null? x) #t (car x))))
это. Мне нужно написать функцию, которая принимает это f в качестве входных данных и возвращает другую функцию, такую, что
-Определить функцию (twoback f)
, которая принимает функцию f в качестве входных данных.
-На выходе он должен возвращать новую функцию g, которая ведет себя следующим образом:
g(x) = #t, если x пустой список или список длины 1.
= f(y) where y=(cdr x) otherwise.
И функция будет вызываться так: ((twoback f3) (list #t #f #t #f))
Итак, на самом деле мой вопрос: как я могу получить доступ к списку, заданному вызовом функции в функции, которую я собираюсь написать (функция twoback)? Потому что мне нужно проверить, пуст он или нет.