我正在学习Lisp编程语言,想知道是否支持嵌套结构。这是我的尝试:
(defstruct casilla i j)
(defstruct tablero caballo reina t1 t2)
(defparameter *estado-inicial*
(make-tablero :caballo (make-casilla :i 1 :j 1)
:reina (make-casilla :i 5 :j 4)
:t1 (make-casilla :i 3 :j 5)
:t2 (make-casilla :i 4 :j 5)))
如果我需要访问字段 i
:
(defun es-estado-final (estado)
(and (= (caballo-casilla-i estado) 3)
(= (caballo-casilla-j estado) 1)))
这是正确的吗?看起来不是,因为caballo-casilla-i
未定义。提前致谢。
(defun caballo-casilla-j (estado) (casilla-j (tablero-caballo estado)))
- omniyo