私は分岐してLispを学ぼうとしています。基本の1つは、単純なスタックを実装することです。私の機能以外はすべて機能しpop
ます。
;Returns and removes the first element of the stack
(defun my-pop ()
(let (temp (car *stack*))
(setq *stack* (cdr *stack*))
temp))
これにより、スタックの「最上位」が正しく削除されますが、返されません。以前、私はこれを持っていました:
;Returns and removes the first element of the stack
(defun my-pop ()
(print (car *stack*)
(setq *stack* (cdr *stack*)))
しかし、私はむしろトップを返したいです。
私は何が間違っているのですか?(これはスコープと関係があると思います...)