gpt4 book ai didi

function - 使用在方案文件中定义的函数,在另一个方案文件中

转载 作者:行者123 更新时间:2023-12-02 08:34:49 26 4
gpt4 key购买 nike

我是计划的新手。
我编写了一个程序,它定义了一个名为“run”的函数,并将其存储为“Run.scm”。
然后我有一个“test.scm”文件,它使用我在“Run.scm”中定义的“run”函数。
我不知道如何在“test.scm”中包含“Run.scm”,我可以在测试文件中使用“run”函数。谁能帮我?

最佳答案

兼容方法

如果你有一个包含源代码的文件,你可以在任何符合 Scheme 的程序中使用 load .所以在你的测试中你可以这样做:

% ls
test.scm Run.scm

test.scm的内容
(load "Run.scm")
(run)

新的更好的方法(R6RS 及更高版本)

如果您有 R6RS 或 R7RS,您就可以制作一个库。它是特定于实现的库是如何合并到其中的,而不是源文件的外观。阅读有关如何将库添加到系统的文档。

然后,假设您制作了一个 awesome/utility.scm图书馆。在 R6rs/R7RS 中,您可以将其添加到您的代码中,如下所示:
(import (awesome utility))
;; start using the imported code..
(awesome-function '(1 2 3 4)) ; ==> (4 3 2 1)

R5RS 方案的替代方案

由于 R5RS 和更早版本只有 load大多数实现都有自己的加载库和源文件的方式。例如。 Racket 有 require和鸡计划有 import .使用这些会将您锁定在一个供应商处,但许多库通过构建特定于实现的启动文件来实现,该文件以特殊方式导入其他文件以找出它们之间的差异或使用 gnu make 基于部件制作源文件或类似的程序。

关于function - 使用在方案文件中定义的函数,在另一个方案文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22869652/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com