0
Это мой код, который просто попробовать ...Схема - Рекурсия - список Потребности в выходе
(define-struct cupboard (upperdrawer middledrawer lowerdrawer))
(define-struct room (name furniture))
(define myrooms
(list
(make-room "Kitchen"
(list
(make-cupboard "Salt" "Sugar" "Pepper")
(make-cupboard "Tofu" "Sausage" "Beef")))
(make-room "Bathroom"
(list
(make-cupboard "Toothbrush" "Soap" "Shampoo")))
(make-room "Sleeping room"
(list
(make-cupboard "Red Socks" "Blue Socks" "Yellow Socks")
(make-cupboard "Suits" "Dresses" "Shoes")))))
(define cupboardcontents
(lambda (myrooms)
(cond((room? (first myrooms))
(cupboard? (first myrooms))
(cupboardcontents (rest myrooms))
((cupboard?(first myrooms)) (list
(cupboard-upperdrawer myrooms)
(cupboard-middledrawer myrooms)
(cupboard-lowerdrawer myrooms)))
))))
(cupboardcontents myrooms)
Теперь задача состоит в том, что использовать рекурсию получить список в качестве вывода, который включает в себя содержимое шкафов. Может ли кто-нибудь помочь здесь?
Мы как читатель хочет знать, на имени пусть. Я думаю, это будет потрясающе. – observo
@observo Взгляните на http://www.cs.rpi.edu/courses/fall00/ai/scheme/reference/schintro-v14/schintro_126.html#SEC166 – uselpa
Эй, спасибо за вашу помощь и извините за мою позднюю ответ. На самом деле это помогло мне немного, но проблема заключалась в том, что в вашем решении вы использовали команды, которые нам не позволяли использовать, потому что они еще не были в нашем расписании (например, loop или cdr);) Возможно, в следующий раз я упомянул что. Большое спасибо! – JinX213