Я не уверен, как заставить этот код работать, его так поздно, что я думаю, что мой мозг прекратил функционировать, кто-нибудь хочет дать мне руку?Racket - выбор случайного элемента из списка
код до сих пор:
(define maze-size 15)
(define-struct Cell (x y))
; adjacents : Cell -> list-of-Cells
; Produce a list of the four Cells above, below, left, and right of 'cell'.
(define(adjacents cell x y)
(list
(make-Cell x (+ y 1))
(make-Cell x (- y 1))
(make-Cell (- x 1) y)
(make-Cell (+ x 1) y)))
Вот где я получаю в тупик, как это исправить? Примечание: код ниже не работает.
; random-adjacent : list-of-Cells -> Cell
; Produce a random Cell adjacent to a random Cell from the non-empty list'cells'.
(define (random-adjacent cells)
(random (adjacents cell)))
Это то, что он должен вести себя, как:
(check-expect (member? (random-adjacent (list (make-Cell 123 104)))
(list (make-Cell 123 105)
(make-Cell 123 103)
(make-Cell 122 104)
(make-Cell 124 104)))
#true)
Там нет необходимости поднять вопрос, который не работает на SO. – uselpa