我正在玩一个可以加载可用内容的插件.关于它的文档$*REPO并不完全存在,所以我猜了一下.这似乎有效,但我感觉我错过了一些更简单的东西(除了常规打高尔夫球的其他位):
my @modules = <Digest::MD5 NotThere PrettyDump>;
my @installed = gather installed-modules( @modules );
put "Already installed: @installed[]";
try require ::( @installed[0] );
# is there a better way to do this without eval
my $digest = ::( @installed[0] ).new;
sub installed-modules ( *@candidates ) {
for @candidates -> $module {
put $module, '-' x 15;
my $ds = CompUnit::DependencySpecification.new:
:short-name($module);
if $*REPO.resolve: $ds {
put "Found $module";
take $module;
}
else {
put "Didn't find $module";
} …Run Code Online (Sandbox Code Playgroud)