我正在使用 DrScheme 来完成 SICP,并且我注意到某些程序(例如,square
)一遍又一遍地使用。我想将它们放在一个单独的文件中,以便我可以将它们包含在其他程序中,而不必每次都重写它们,但我似乎不知道如何做到这一点。
我试过了:
(load filename)
(load (filename))
(load ~/path-to-directory/filename)
(require filename)
(require ~/path-to-directory/filename)
(require path-from-root/filename)
这些都不起作用。显然我正在抓住救命稻草——非常感谢任何帮助。
从您的问题中不清楚您正在使用什么语言级别;某些遗留语言可能会使某些机制不可用。
最好的包含/抽象机制是模块的机制。
首先,将您的语言级别设置为“模块”。然后,如果我将这两个文件放在同一目录中:
文件使用-square.ss:
#lang scheme
(require "square.ss")
(define (super-duper x) (square (square x)))
文件 square.ss :
#lang scheme
(provide square)
(define (square x) (* x x))
然后我可以在“uses-square.ss”缓冲区上点击“运行”,一切都会按照您期望的方式工作。
警告:未经测试的代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)