【发布时间】:2020-08-09 09:47:49
【问题描述】:
假设我在一个目录中有 2 个文件
p.pl
Mod.pm
在 perl5 中,我可以通过以下方式从 p.pl 加载模块 Mod.pm:
use FindBin qw($Bin);
use lib "$Bin";
...
use Mod;
我想知道Raku 的等效项是什么(如果文件是 p.raku 和 Mod.rakumod)?
我想要完成的是加载一个相对于脚本的模块。
- 我想在启动脚本之前不设置环境变量来执行。
- 我不想用 zef 安装模块。
- 我不想成为
强制将 cwd 设置为脚本目录,这意味着如果 p.raku 和 Mod.rakumod 位于目录 d1 中,而目录 d1 又位于目录 d0 中,我希望能够运行
cd d0; rakudo d1/p.raku和cd d1; rakudo p.raku
【问题讨论】:
-
如果a search of SO for "[raku] relative module" 中的任何 SO 都没有帮助,请在您的问题中添加详细信息,解释原因。谢谢。
-
@raiph 改写了它
-
$*PROGRAM 并使用 lib?
-
使用库 $*PROGRAM.dirname;
-
@raiph :是的,我想接受它。但我不能在 2 天前完成,因为我自己回答了。如果其他人想回答我可以删除我的,然后直接接受。