在Scheme中是否有类似于Common Lisp的*print-circle*的等效功能?

3
我正在编写一个双向链表在Scheme中的实现(SICP练习3.23),我想测试一下这个简单的实现,但是我似乎找不到如何在Scheme(mit-scheme和mzscheme / racket)中打印出循环列表的方法。在CL中,有一个名为 "print-circle" 的标记用于此类事情,在Scheme中是否有任何等效的东西?我尝试过使用“with-output-to-truncated-string”,但我从Macports下载的mit-scheme版本中似乎没有该命令,虽然我认为它应该存在?有没有一些方法可以在REPL中获取这个过程?我需要添加一些东西吗?http://sicp.ai.mit.edu/Fall-2003/manuals/scheme-7.5.5/doc/scheme_15.html谢谢!
1个回答

3

没有标准的方法来做到这一点,但大多数Scheme实现都有一些控制它们打印机的方法。在Racket的情况下,有一个print-graph参数可以实现此功能。但是,还可以查看Racket的SICP支持包,这应该能让您更轻松地使用SICP。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接