我正在尝试导入我非常喜欢https://metacpan.org/pod/Data::Printer的Perl5模块
使用手册页https://modules.perl6.org/dist/Inline::Perl5:cpan:NINE中的建议

使用非常简单的脚本

use Inline::Perl5;
my $p5 = Inline::Perl5.new;
$p5.use('Data::Printer');

但是然后我得到这个错误:
Unsupported type NativeCall::Types::Pointer<94774650480224> in p5_to_p6
  in method p5_to_p6_type at /usr/lib/perl6/site/sources/130449F27E85303EEC9A19017246A5ED249F99E4 (Inline::Perl5) line 298
  in method unpack_return_values at /usr/lib/perl6/site/sources/130449F27E85303EEC9A19017246A5ED249F99E4 (Inline::Perl5) line 375
  in method invoke at /usr/lib/perl6/site/sources/130449F27E85303EEC9A19017246A5ED249F99E4 (Inline::Perl5) line 446
  in method import at /usr/lib/perl6/site/sources/130449F27E85303EEC9A19017246A5ED249F99E4 (Inline::Perl5) line 776
  in method use at /usr/lib/perl6/site/sources/130449F27E85303EEC9A19017246A5ED249F99E4 (Inline::Perl5) line 898
  in block <unit> at inline_perl5.p6 line 4

这里出了什么问题?如何将这个perl5模块导入到perl6中?如果有类似的方法可以像我从Data::Printer中获取的那样在Perl6中获取彩色/标签化的输出,因为我找不到它,我也将很高兴。

编辑:这在这里解决:how to load Perl5's Data::Printer in Perl6?

最佳答案

我认为您偶然发现了Inline::Perl5 Perl 5模块中似乎发生的Data::Printer错误,因此建议您在https://github.com/niner/Inline-Perl5/issues上打开一个问题。

同时,语法变得更加简单。一旦安装了Inline::Perl5,您只需添加:from<Perl5>副词即可从Perl 5加载模块:

use Data::Printer:from<Perl5>;

不幸的是,此刻会产生与您已经描述的相同的错误:
===SORRY!===
Unsupported type NativeCall::Types::Pointer<140393737675456> in p5_to_p6

因此,我认为没有解决方案不需要升级Inline::Perl5或Rakudo Perl 6。

关于raku - 无法使用Inline::Perl5将Perl5模块导入Perl6,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54487122/

10-11 02:46