如何在Perl 6中包含文件

Jua*_*uel 14 perl-module perl6 raku

我有两个Perl 6文件:

hello.p6:

sub hello
{
    say 'hello';
}
Run Code Online (Sandbox Code Playgroud)

和main.p6:

require 'hello.p6';

hello();
Run Code Online (Sandbox Code Playgroud)

但是不要工作.如何在主脚本中包含第一个文件?

mor*_*itz 8

仅供记录,正确的解决方案是使用模块:

文件Hello.pm6

 module Hello;
 sub hello() is export {
     say 'hello';
 }
Run Code Online (Sandbox Code Playgroud)

文件hello.p6:

 use v6;
 use lib '.'; # to search for Hello.pm6 in the current dir
 use Hello;
 hello;
Run Code Online (Sandbox Code Playgroud)


mvp*_*mvp 5

在Rakudo中使用显式文件语法和显式导出列表似乎对我有用:

main.p6:

require Hello:file('Hello.p6') <hello>;

hello();
Run Code Online (Sandbox Code Playgroud)

hello.p6:

sub hello {
    say 'hello';
}
Run Code Online (Sandbox Code Playgroud)

资料来源:http://perlcabal.org/syn/S11.html#Runtime_Importation