プロシージャ find-last は、1 つの引数とリストの述語を取り、述語を満たすリスト内の右端の要素を返します。そのような要素が存在しない場合は #f を返す
(define (find-last-helper ans)
(if (predicate? ans)
(add1 ans)))
(define find-last
(lambda (predicate? ls)
(cond
[(null? ls) #f]
[(equal? predicate? (car ls)) car ls]
[else(find-last-helper(find-last ls(cdr ls)))])))
ヘルパーまたは find-last プロシージャで何か不足していますか? 構文エラーを返します。