我试图在方案函数中返回一个不可见的值,但似乎无法得到任何不会被打印到屏幕上的东西,这正是我所需要的。方案中是否有可以添加到不会在(显示)调用中打印的列表的值?
问问题
1376 次
2 回答
1
与其尝试创建一个不可见的类型,不如使用过滤器来识别和删除您不想创建一个新列表的值,然后您可以做任何您喜欢的事情,例如打印到屏幕。
(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))
于 2010-09-21T05:56:22.793 回答
0
没有标准的方法可以做到这一点。您可以重新定义display
过程(或您的方案上的任何输出调用),以便它不会打印特定类型的对象。
(define display-old display)
(define (display obj)
(if (not (invisible? obj))
(display-old obj)))
于 2010-09-21T05:42:06.363 回答