別の関数に入力として与えられた関数の入力にアクセスするにはどうすればよいかを理解する必要があります。
例えば; これを行うfという関数があります(define f (lambda (x) (if (null? x) #t (car x))))
。このfを入力として受け取り、次のような別の関数を返す関数を作成する必要があります。
(twoback f)
-関数fを入力として受け取る関数を定義します。
-出力として、次の動作をする新しい関数gを返す必要があります。
xが空のリストまたは長さ1のリストの場合、g(x)=#t。
= f(y) where y=(cdr x) otherwise.
そして、関数は次のように呼び出されます:((twoback f3) (list #t #f #t #f))
だから実際に私の質問は:私が書くつもりの関数(twoback関数)の関数呼び出しで与えられたリストにどのようにアクセスできますか?空かどうかを確認する必要があるからです。