我正在尝试用 Raku 编写模块,当时将一个功能分解到另一个.rakumod文件中对我来说是有意义的。编译时如何将这些文件链接在一起?
我尝试通过以下方式将其他模块拉到我的主模块:
use MyProject::OtherModule;
Run Code Online (Sandbox Code Playgroud)
但我收到一个错误,即使它们并排在目录中,它也找不到此模块。我尝试查看 Raku 世界中的一些 OSS 项目,其中大多数都是一个文件,编译器 Rakudo 似乎使用多个模块文件,但我不知道它们是如何链接的。
每次我想运行我的项目时都必须发布这个模块吗?如果我的项目变得很大,我该如何构建它?当然,最好的解决方案不是将所有内容都放在一个文件中吗?
编辑:我还应该注意,我也在新模块的顶部使用了它:
unit module MyProject::OtherModule;
Run Code Online (Sandbox Code Playgroud)
在本地运行时,如果您声明了 META6.json,则可以使用
raku -I. script.raku
Run Code Online (Sandbox Code Playgroud)
并且它将使用已卸载的版本,并且您不需要use lib在脚本中添加任何版本。