我有给定的结构:
(define-struct clr ( r g b a)
我想列出一个清单:
(list (list r)(list g)(list b)(list a)
我当前的代码:
(define clrTolist
(lambda (clr)
(map list (list clr))))
(clrTolist (make-clr 0 0 0 0))
这就是我得到的结果:
list (list (make-clr 0 0 0 0)))
我不希望结构名称显示在我的结束列表中。
答案 0 :(得分:1)
您可以使用以下语法从结构中“访问”单个值:
id-field
所以就您而言
clr-r myred
将返回元素myred的r的特定值
您要创建一个包含元素所有值的列表,所以只需尝试
(list (clr-r clr) (clr-g clr) (clr-b clr) clr-a clr))
请务必了解结构及其定义。我推荐HtdP https://htdp.org/2003-09-26/Book/curriculum-Z-H-9.html#node_chap_6
中的本章