(define-struct student (first last major))
(define student1 (make-student "John" "Smith" 'CS))
(define student2 (make-student"Jane" "Jones" 'Math))
(define student3 (make-student "Jim" "Black" 'CS))
#;(define (same-major? s1 s2)
(symbol=? (student-major s1)
(student-major s2)))
когда я набираю их, я получаю ожидаемый ответ.
;;(same-major? student1 student2) -> FALSE
;;(same-mejor? student1 student3) -> True
Но когда я хочу узнать, есть ли у учеников одинаковые имена, он говорит мне, что они ожидают символ в качестве 1-го аргумента, но с учетом Джона.
(define (same-first? s1 s2)
(symbol=? (student-first s1)
(student-first s2)))
Что я делаю неправильно?