如何引用术语列表进行打印?
我可以这样做:
(~a (student-id a-student)
这为我提供了学生证,但我想要一份已注册的学期列表。
如果我尝试:
(~a (student-list-of-terms a-student))
我收到错误: 学生列表 - 未定义; 在定义
之前无法引用标识符学生的定义是:
(define a-student (student pidm list-of-terms list-of-events list-of-withdrawals list-of-courses date-lda date-wdrl)
答案 0 :(得分:2)
为了让Racket知道student
是什么,您需要使用struct
来定义学生的意思。如果学生结构具有术语列表字段,则可以使用student-list-of-terms
访问学生的术语列表。
以下是一个例子:
#lang racket
(struct student (pidm list-of-terms list-of-events list-of-withdrawals
list-of-courses date-lda date-wdrl))
(define a-student
(student 42
(list 'term1 'term2)
(list 'event1 'event2)
(list 'withdrawal1 'withdrawal2)
(list 'course1 'course2)
"a date"
"another date"))
(student-list-of-terms a-student)