私はリストのすべての番号を単語に置き換えて、単語を元の状態に保とうとしています。たとえば、(スパム'(私は1を食べ、彼も1を食べました))出力:私は食べ物を食べ、彼も食べ物を食べました。私の関数では、最初にリストが空かどうかの基本ケースを確認します。次に、リスト内の文字を再帰的にチェックし、それらが数字である場合は、たとえば、それらを単語の食べ物に変換します。そして最後に、文字が文字であるかどうかを確認します。ロジックは正しいと思いますが、コードが機能せず、エラーが発生します。これが私のコードです
(defun spam(list)
(if (null list) nil
(if (first numberp list) 'food (spam(rest list))
((first list)(spam(rest list)))
)
)
)