我创建了一个简单的测试模块./mods/My/Module.pm6:
unit module My::Module;
use v6;
sub hello () is export {
say "Hello";
}
Run Code Online (Sandbox Code Playgroud)
然后,我有一个测试脚本./p.p6:
#! /usr/bin/env perl6
use v6;
use My::Module;
My::Module::hello();
Run Code Online (Sandbox Code Playgroud)
然后我设置PERL6LIB包含该文件夹./mods,然后运行脚本:
$ ./p.p6
Could not find symbol '&hello'
in block <unit> at ./p.p6 line 7
Run Code Online (Sandbox Code Playgroud)
但是,如果我替换My::Module::hello()脚本中的行,hello()它可以正常工作.我在这里错过了什么?
如果你导出你好,你可以简单地使用它
use v6;
use lib <lib>; # hint: no need to tinker with the environment
use My::Module;
hello();
Run Code Online (Sandbox Code Playgroud)
如果您真的想要使用完全限定名称,则必须使用我们的关键字.
our sub hello () is export {
say "Hello";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
117 次 |
| 最近记录: |