Page 1 of 1

struct can't be accessed inside loop?

Posted: Fri Feb 12, 2010 7:39 am
by yougene
Why am I getting this error from running "contains":
"EVAL: undefined function MOVE-X"?

Code: Select all

(defstruct move state previous f g h)

(defun contains (list x)
           (let ((found nil))
             (loop for y in list when (equal (move-x state) (move-y state)) return y)))
TEST CODE

Code: Select all

(setf x (make-move :state '(1 2 3 4 - 5 6 7 8) :f 2 :g 0 :h 2))

(contains (cons (cons x nil) nil) x)

Re: struct can't be accessed inside loop?

Posted: Fri Feb 12, 2010 7:44 am
by ramarren
yougene wrote:Why am I getting this error from running "contains":
"EVAL: undefined function MOVE-X"?
Because the function MOVE-X is undefined. Your structure doesn't have X or Y fields.

Re: struct can't be accessed inside loop?

Posted: Fri Feb 12, 2010 7:48 am
by yougene
You're right, and I'm in the wrong section(lisp). Mods, feel free to move or delete.