Scheme里的数据类型很多,与结构体类似的数据类型有list、structure和record
下面举个例子,来加深一下对于record和structure的理解,
首先定义一个结构体,用define-structure命令
(define-structure (tasklist (type-descriptor <tasklist>)) task1 task2 task3)
这就声明了一个新结构体,名字叫tasklist,有三个成员task1,task2,task3
由structure得到一个record,也就是实例化一个结构体,实例化后的结构体就叫record
(make-tasklist 'a 'b 'c)
返回一个record,like this
#[tasklist 53]
验证一下是否为record,
(record? #[tasklist 53])
返回为#t,意味正确。
为这个record取个名为tl
(define tl #[tasklist 53])
查询tl的第一个成员task1的值,