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()