通过以下代码:
(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打印((int 3) (int 5))
。
如何处理第二个struct:int list
?
答案 0 :(得分:1)
表达式:
'((int 3) (int 5))
或多或少等同于:
(list (list 'int 3) (list 'int 5))
因此,如果你想创建一个结构作为元素的列表,可以直接使用list
或者......你可以使用quasiquote:
`(,(int 3) ,(int 5))