Module 导入简单模块

Module 导入简单模块,module,raku,Module,Raku,我有一个写在模块文件(.pm)中的函数,希望在Perl6文件(.pl6)中使用它。这两个文件位于同一文件夹中: C:\Users\Christian\Dropbox\ChristianPrivatefiler\Programmering\Perl6\perlCode 我试图使用的答案,但我的代码返回此错误: ===SORRY!=== Could not find chrmodule1 at line 5 in: C:\Users\Christian\Dropbox\ChristianP

我有一个写在模块文件(
.pm
)中的函数,希望在Perl6文件(
.pl6
)中使用它。这两个文件位于同一文件夹中:

C:\Users\Christian\Dropbox\ChristianPrivatefiler\Programmering\Perl6\perlCode
我试图使用的答案,但我的代码返回此错误:

===SORRY!=== Could not find chrmodule1 at line 5 in:
    C:\Users\Christian\Dropbox\ChristianPrivatefiler\Programmering\Perl6\modules
    C:\Users\Christian\.perl6
    C:\rakudo\share\perl6\site
    C:\rakudo\share\perl6\vendor
    C:\rakudo\share\perl6
    CompUnit::Repository::AbsolutePath<84241584>
    CompUnit::Repository::NQP<86530680>
    CompUnit::Repository::Perl5<86530720> [Finished in 0.436s]
这是
.pl6
文件,
testOfCode3.pl6

use v6;
use lib 'modules';
use chrmodule1;

foo();
  • 我使用这个编辑器:
  • 下面是返回相同错误的问题的另一个解决方案 当我尝试时:
  • 预期的结果是:

     in foo [Finished in 0.317s]
    

代码3.pl6测试的第二行应该是
使用lib'perlCode'


你写道:

我有一个写在模块文件(
.pm
)中的函数,希望在Perl6文件(
.pl6
)中使用它。这两个文件位于同一文件夹中:

C:\Users\Christian\Dropbox\ChristianPrivatefiler\Programmering\Perl6\perlCode
因此,您已将模块存储在名为
perlCode
的文件夹中

当您运行testOfCode3.pl6时,您会得到一个错误:

===SORRY!=== Could not find chrmodule1 at line 5 in:
    C:\Users\Christian\Dropbox\ChristianPrivatefiler\Programmering\Perl6\modules
因此,Rakudo Perl 6编译器在名为
modules
的文件夹中查找
chrmodule
。为什么?因为你告诉它:

这是
.pl6
文件,
testOfCode3.pl6

use v6;
use lib 'modules';
use chrmodule1;

foo();
一个
use lib…
语句告诉Perl 6编译器首先在哪里查找模块。您添加了
模块
,因此Rakudo Perl 6编译器首先查看
模块
文件夹

它没有在那里找到你的模块,所以它继续寻找。因此,下面的行列出了
C:\Users\Christian\.perl6

最后,它永远也找不到您的模块,因为您的模块位于
perlCode
中,并且您没有告诉编译器去那里查看。(出于可靠的安全原因,它拒绝只查看当前目录。)

yw.)仅供参考,您可以在(单击并输入昵称以加入)从友好的民间和有用的机器人程序中获得基于聊天的免费支持。
use v6;
use lib 'modules';