Syntax 从简单文件加载符号

Syntax 从简单文件加载符号,syntax,raku,Syntax,Raku,此文件将是foo.pm6: sub bar { "quux" } say "Loaded"; sub bar is export { "quux" } say "Loaded"; 这是一个要求。p6: require "foo.pm6"; say bar; require自动失败,未加载foo.pm6,且未找到bar。这也失败了: require foo; say bar; 同样的错误,关于找不到条。此文件: require ::"foo"; say bar; 使用MVMArra

此文件将是
foo.pm6

sub bar { "quux" }
say "Loaded";
sub bar is export { "quux" }
say "Loaded";
这是一个要求。p6:

require "foo.pm6";

say bar;
require
自动失败,未加载foo.pm6,且未找到bar。这也失败了:

require foo;

say bar;
同样的错误,关于找不到条。此文件:

require ::"foo";

say bar;
使用
MVMArray:Can't shift from a empty array

更新:它会以静默方式失败,因为它在发现未知符号时停止,
,因此在产生错误之前它不会运行“它已加载”。不过,最后一个错误很奇怪

Undeclared routine:
    bar used at line 9. Did you mean 'bag', 'VAR'?
所以,一旦这被排除在外,
bar
真的被导入了吗?如果是,在哪个包名中?如何使用它?

您可以使用将当前目录添加到库搜索路径

如果我将特征添加到
foo.pm6
中的
bar()

sub bar { "quux" }
say "Loaded";
sub bar is export { "quux" }
say "Loaded";
以下方法似乎有效(
requirer.p6
):


您是否尝试过使用lib.?请看,是的,这是有效的,但这将是我的第二个问题,bar不是导入的,尽管文档中说它是导入的……是的,我忘记了,我在
foo.pm6
中添加了
is export
bar()