16 進数の実際の値を生成する Lisp プログラムを作成します。関数を作成しましたが、stackoverflow (deep) エラーが発生しているようです。誰かが私の間違いを指摘したり、正しい方向に導いてくれたりできないかと思っていました。
これは宿題の一部であるため、この質問に対してコードが投稿されていない場合は幸いです。したがって、私が間違っている可能性のある説明または指示のみが必要です。
私の問題は、再帰が終了していないことだと思いますが、修正方法がわかりません。
これが私のコードです:
(defun calc (hex)
(if hex
(if (> (length hex) 1)
( + (first (reverse hex)) (* 16 (calc (reverse hex)))) hex)))
前もって感謝します。