gpt4 book ai didi

compilation - 如何在编译环境中使用鸡蛋?

转载 作者:行者123 更新时间:2023-12-03 22:54:01 25 4
gpt4 key购买 nike

这是我的 previous question 的后续行动.不幸的是,默认情况下,Chicken Scheme 似乎不支持复数,而是提供了 numbers可以安装的鸡蛋。

我已经通过 chicken-install numbers 安装了这个 egg ,我可以在解释的环境中加载它。我可以调用 use ;在 REPL 中手动或运行我的 .scm通过 csi 将文件作为脚本.

例如,此脚本完美运行:

(use numbers)

(begin
(display 3+3i)
(newline)
)

运行时:
csi -s main.scm

但是当我用 csc 编译这个完全相同的片段时(即使没有任何附加标志),如果我没有加载它,我会得到相同的运行时错误(例如,未绑定(bind)的变量。)似乎在编译环境中 use不切芥末。

另外两件需要注意的事情是,根据文档,我尝试了其他导入功能,例如 require-extension , require-library等,但没有任何区别。另一个是如果我将模块的名称更改为 numbers 以外的名称。 ,比如说 numberss ,它无法编译,提示它无法加载扩展,所以显然它至少检测到 numbers库已安装。

谁能解释一下,最好是通过一个简短的工作示例如何在编译环境中使用鸡蛋?提前致谢! :)

最佳答案

根据 Peter Bex 在 mailing list 上提供的有用信息,大多数鸡蛋都可以开箱即用,您只需要 use他们。

但是,某些鸡蛋为基本阅读器提供了扩展,需要告知编译器。您可以使用 -X旗帜。作为documentation说,numbers是其中之一。

使用以下代码编译您的代码段:

csc -X numbers-syntax main.scm

完美地工作。

我希望这有帮助! :)

关于compilation - 如何在编译环境中使用鸡蛋?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13533720/

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