2012-11-16 33 views
0

我是Lisp的新手,不知道如何访问:DIM值!下面的代码:Lisp接受值(Lisp新手)

(defstruct peca 
    dim 
    val) 

(setf exemple #S(PECA :DIM 2 :VAL 1)) 

我怎样才能得到的:DIMexemple价值? 当我尝试exemple-dim它说variable -DIM has no value

回答

4

defstruct定义了阅读器功能等等。这些默认名称的格式为structname-slotname,在您的情况下给出peca-dimpeca-val

有一个在HyperSpec, here.

+1

jwmc进一步的信息已经回答了你如何访问这些值的直接问题。你应该知道,如果你不喜欢“classname + hyphen + slot-name”的默认样式,你可以使用:conc-name选项来为最初的部分指定更好的东西(通常更短)。现在,我建议您不要自己输入#S(...)。 Lisp以这种方式打印它,但您应该使用自动定义的(make-peca:dim ...:val ...)构造函数。 – khedron