Путаница в диаграмме прямоугольников и указателей с использованием ракетки

#racket #diagram

#racket #диаграмма

Вопрос:

введите описание изображения здесь

Я не понимаю, где я ошибся в переводе этой диаграммы в код ракетки с использованием обозначения «список». Для кода я написал

 (list 'greetings
  (list 'howdy 'hi "hello")
  (list "yo" 0.7734
        (list 'hola 'bonjour)))
  

Но оказывается, что этот код неверен. Я просмотрел определение нотации списка, но не смог найти, что не так. Может ли кто-нибудь дать мне подсказку о том, где я ошибся? С благодарностью!

Ответ №1:

"yo" , 0.7734 , и (list 'hola 'bonjour) принадлежат списку верхнего уровня:

 (define sublist1 (list 'howdy 'hi "hello"))

(define sublist2 (list 'hola 'bonjour))

(list 'greetings sublist1 "yo" 0.7734 sublist2)

(list 'greetings (list 'howdy 'hi "hello") "yo" 0.7734 (list 'hola 'bonjour))