Я пытаюсь вернуть невидимое значение в функции схемы, но не могу получить ничего, что WONT было бы выведено на экран, что мне и нужно.Есть ли в схеме значение, которое можно добавить в список, который не будет напечатан при вызове (отображения)?
Вместо того, чтобы пытаться создать невидимый тип, почему бы вам не использовать фильтр для идентификации и удаления значений, которые вы не хотите создавать, чтобы создать новый список, который затем вы можете делать с любыми, например, печать на экран.
(define (want-this? thing) ;; write a function that takes one ;; parameter and returns a boolean ;; true if you want it ;; false if you don't ) (filter want-this? '(v a l u e s))
Также см. Документы: http://docs.racket -lang.org / reference / pair.html? Q = фильтр #% 28def ._% 28% 28lib._racket / private / base..rkt% 29._filter% 29% 29
Нет стандартного способа сделать это.Вы можете переопределить процедуру display (или любой другой выходной вызов вашей Схемы), чтобы она не печатала объекты определенного типа.
display
(define display-old display) (define (display obj) (if (not (invisible? obj)) (display-old obj)))