История изменений
Исправление saufesma, (текущая версия) :
Можно просто безо всяких defun slave
Я согласен с тобой. Но меня на практику никто не берёт, понимаешь.
У меня вот так
(defvar startx)
(defvar starty)
(defvar endx)
(defvar endy)
(defvar my-arrows)
(setq startx 0)
(setq starty 50)
(setq endx 0)
(setq endy 20)
(setq my-arrows nil)
(defun make-arrow (startx endx starty endy)
(make-instance 'capi:arrow-pinboard-object
:start-x startx :end-x endx
:start-y starty :end-y endy
:graphics-args
'(:thickness 1 :foreground :red)))
(setq list-of-startx (list 50 100 200))
(defun slave (list-of-startx startx endx starty endy)
(if (eq (car list-of-startx) nil)
my-arrows
(progn
(setq endx (setq startx (car list-of-startx)))
(push (make-arrow startx endx starty endy) my-arrows)
(slave (cdr list-of-startx) startx endx starty endy))))
(slave list-of-startx startx endx starty endy)
(capi:contain my-arrows)
proof
my-arrows=>(#<CAPI:ARROW-PINBOARD-OBJECT 402017EDAB> #<CAPI:ARROW-PINBOARD-OBJECT 402017E70B> #<CAPI:ARROW-PINBOARD-OBJECT 4020160803>)
Исходная версия saufesma, :
У меня вот так
(defvar startx)
(defvar starty)
(defvar endx)
(defvar endy)
(defvar my-arrows)
(setq startx 0)
(setq starty 50)
(setq endx 0)
(setq endy 20)
(setq my-arrows nil)
(defun make-arrow (startx endx starty endy)
(make-instance 'capi:arrow-pinboard-object
:start-x startx :end-x endx
:start-y starty :end-y endy
:graphics-args
'(:thickness 1 :foreground :red)))
(setq list-of-startx (list 50 100 200))
(defun slave (list-of-startx startx endx starty endy)
(if (eq (car list-of-startx) nil)
my-arrows
(progn
(setq endx (setq startx (car list-of-startx)))
(push (make-arrow startx endx starty endy) my-arrows)
(slave (cdr list-of-startx) startx endx starty endy))))
(slave list-of-startx startx endx starty endy)
(capi:contain my-arrows)
proof
my-arrows=>(#<CAPI:ARROW-PINBOARD-OBJECT 402017EDAB> #<CAPI:ARROW-PINBOARD-OBJECT 402017E70B> #<CAPI:ARROW-PINBOARD-OBJECT 4020160803>)