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