2017-05-24 88 views
0

strurct-構造評價通過以下代碼:強制在球拍

(struct int (num) #transparent) 

(list (int 3) (int 5)) ;; case-1 
'((int 3) (int 5))  ;; case-2 

的情況下,1打印(#(struct:int 3) #(struct:int 5)), 但案件-2打印​​。

我該如何處理第二個爲struct:int list

+0

可能重複[引用和列表之間的區別?](https: //stackoverflow.com/questions/34984552/what-is-the-difference-between-quote-and-list) –

回答

1

表達:

'((int 3) (int 5)) 

或多或少等同於:

(list (list 'int 3) (list 'int 5)) 

所以,如果你想創建一個結構元素的列表,您可以直接使用list或.. 。您可以使用quasiquote:

`(,(int 3) ,(int 5))