繁体   English   中英

如何从结构中获取列表?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM