[英]How do I get a list out of a struct?
我有给定的结构:
(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)))
我不希望结构名称显示在我的结束列表中。
您可以使用以下语法从 struct 中“访问”单个值:
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-ZH-9.html#node_chap_6推荐本章
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.