module - 如何获取模块的不同文件的文件路径?

标签 module path package raku

如何获取模块的另一个文件的路径?

我尝试了这种方式,但我不知道从哪里获取 $here 并且我不知道如果我有 $here 是否会起作用?

use v6;
unit class Aaa::Bbb::Ccc;

my $here = '.../lib/Aaa/Bbb/Ccc.rakumod'.IO;
my $bin = $here.parent.parent.parent.add( 'bin' ).add( 'app' );

use Pod::Load;
my $pod = load( $bin );
# use the $pod

当我尝试此操作时,$pod 为空:

use Pod::Load;
my $pod = load( $*PROGRAM );
say $pod.raku;  # $[]

最佳答案

不存在“模块的另一个文件”这样的东西。一个模块仅代表一个文件;一个发行版代表多个模块,因此代表多个文件。此外,模块不能假设它是从文件系统加载的——它可能会从 tar file 加载到内存中。或socket ,如果一个模块尝试访问例如"../MyOtherModule.rakumod".IO 显然会失败。

可以安全地做的是获取同一发行版中任何模块的内容:

unit class Aaa::Bbb::Ccc;

my $bin-code = $?DISTRIBUTION.content("bin/app").open.slurp;

关于module - 如何获取模块的不同文件的文件路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55864667/

相关文章:

android - 来自模块的注释依赖不起作用

module - Ocaml 值与模块和签名中的参数化类型不匹配

regex - 使用 bash 删除字符串的一部分

r - R中find_replace nul字符

android - 我如何获得 Android Bundle/Packager Identifier

python - 脚本编译后如何在python中重新加载模块?

将 google-cloud-datastore 依赖项添加到模块化 Java 11 项目时出现 java.lang.module.ResolutionException

javascript - 如何设置 webworker.js 文件的 url 以使其在库而不是主项目中可见

python - 如何在 Windows 上安装 Oauth2 安装(多个错误)

java - 如何将另一个包的类导入到我的包中