簡體   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