История изменений
Исправление saufesma, (текущая версия) :
там в коде косяк был отловил косяк Было
CL-USER 14 > (defun test-find-vars (expr)
"returns a list of all the variables in expr"
(if (consp expr)
(push (append (find-vars (car expr)) (find-vars (cdr expr))) my-var)
(progn
(if (is-var expr) (list expr) nil)
myvar))) <<<<<<<<<<<<<<<<
CL-USER 14 > (defun test-find-vars (expr)
"returns a list of all the variables in expr"
(if (consp expr)
(push (append (find-vars (car expr)) (find-vars (cdr expr))) my-var)
(progn
(if (is-var expr) (list expr) nil)
my-var)))<<<<<<<<<<<<<<<<<<<<<<
CL-USER 15 > (setq my-var nil)
NIL
CL-USER 16 > (test-find-vars '(? 1 2 ? 3 4 ?))
((? ? ?))
CL-USER 17 > my-var
((? ? ?))<<---почему?
То есть при каждом запуске в my-var добавляется значение последнего вычисления (find-vars expr).
Добавляется только (find-vars (cаr expr)), а куда делся (find-vars (cdr expr))?
Исправление saufesma, :
там в коде косяк был отловил косяк Было
CL-USER 14 > (defun test-find-vars (expr)
"returns a list of all the variables in expr"
(if (consp expr)
(push (append (find-vars (car expr)) (find-vars (cdr expr))) my-var)
(progn
(if (is-var expr) (list expr) nil)
myvar))) <<<<<<<<<<<<<<<<
CL-USER 14 > (defun test-find-vars (expr)
"returns a list of all the variables in expr"
(if (consp expr)
(push (append (find-vars (car expr)) (find-vars (cdr expr))) my-var)
(progn
(if (is-var expr) (list expr) nil)
my-var)))<<<<<<<<<<<<<<<<<<<<<<
CL-USER 15 > (setq my-var nil)
NIL
CL-USER 16 > (test-find-vars '(? 1 2 ? 3 4 ?))
((? ? ?)) <<---почему?
То есть при каждом запуске в my-var добавляется значение последнего вычисления (find-vars expr).
Добавляется только (find-vars (cаr expr)), а куда делся (find-vars (cdr expr))?
Исправление saufesma, :
там в коде косяк был отловил косяк Было
CL-USER 14 > (defun test-find-vars (expr)
"returns a list of all the variables in expr"
(if (consp expr)
(push (append (find-vars (car expr)) (find-vars (cdr expr))) my-var)
(progn
(if (is-var expr) (list expr) nil)
myvar))) <<<<<<<<<<<<<<<<
CL-USER 14 > (defun test-find-vars (expr)
"returns a list of all the variables in expr"
(if (consp expr)
(push (append (find-vars (car expr)) (find-vars (cdr expr))) my-var)
(progn
(if (is-var expr) (list expr) nil)
my-var)))<<<<<<<<<<<<<<<<<<<<<<
CL-USER 15 > (setq my-var nil)
NIL
CL-USER 16 > (test-find-vars '(? 1 2 ? 3 4 ?))
((? ? ?)) <<---почему?
То есть при каждом запуске в my-var добавляется значение последнего вычисления (find-vars expr).
Добавляется только (find-vars (cdr expr)), а куда делся (find-vars (cdr expr))?
Исправление saufesma, :
там в коде косяк был отловил косяк Было
CL-USER 14 > (defun test-find-vars (expr)
"returns a list of all the variables in expr"
(if (consp expr)
(push (append (find-vars (car expr)) (find-vars (cdr expr))) my-var)
(progn
(if (is-var expr) (list expr) nil)
myvar))) <<<<<<<<<<<<<<<<
CL-USER 14 > (defun test-find-vars (expr)
"returns a list of all the variables in expr"
(if (consp expr)
(push (append (find-vars (car expr)) (find-vars (cdr expr))) my-var)
(progn
(if (is-var expr) (list expr) nil)
my-var)))<<<<<<<<<<<<<<<<<<<<<<
CL-USER 15 > (setq my-var nil)
NIL
CL-USER 16 > (test-find-vars '(? 1 2 ? 3 4 ?))
((? ? ?)) <<---почему?
То есть при каждом запуске в my-var добавляется значение последнего вычисления (find-vars expr).
Добавляется только (find-vars (cdr expr)) "?", а куда делся (find-vars (cdr expr))?
Исправление saufesma, :
там в коде косяк был отловил косяк Было
CL-USER 14 > (defun test-find-vars (expr)
"returns a list of all the variables in expr"
(if (consp expr)
(push (append (find-vars (car expr)) (find-vars (cdr expr))) my-var)
(progn
(if (is-var expr) (list expr) nil)
myvar))) <<<<<<<<<<<<<<<<
CL-USER 14 > (defun test-find-vars (expr)
"returns a list of all the variables in expr"
(if (consp expr)
(push (append (find-vars (car expr)) (find-vars (cdr expr))) my-var)
(progn
(if (is-var expr) (list expr) nil)
my-var)))<<<<<<<<<<<<<<<<<<<<<<
CL-USER 15 > (setq my-var nil)
NIL
CL-USER 16 > (test-find-vars '(? 1 2 ? 3 4 ?))
((? ? ?)) <<---почему?
То есть при каждом запуске в my-var добавляется значение последнего вычисления (find-vars expr).
Добавляется только "?", а куда делся (find-vars (cdr expr))?
Исходная версия saufesma, :
там в коде косяк был отловил косяк Было
CL-USER 14 > (defun test-find-vars (expr)
"returns a list of all the variables in expr"
(if (consp expr)
(push (append (find-vars (car expr)) (find-vars (cdr expr))) my-var)
(progn
(if (is-var expr) (list expr) nil)
myvar))) <<<<<<<<<<<<<<<<
CL-USER 14 > (defun test-find-vars (expr)
"returns a list of all the variables in expr"
(if (consp expr)
(push (append (find-vars (car expr)) (find-vars (cdr expr))) my-var)
(progn
(if (is-var expr) (list expr) nil)
my-var)))<<<<<<<<<<<<<<<<<<<<<<
CL-USER 15 > (setq my-var nil)
NIL
CL-USER 16 > (test-find-vars '(? 1 2 ? 3 4 ?))
((? ? ?)) <<---почему?