Perl5代码中使用(被忽略的)Perl6数据类型

4
我希望开始准备一些适用于perl6的perl5代码。特别是,我喜欢声明我的变量应该是什么类型的这个想法。perl6定义了Bool、Int、Array、Hash、Num、Complex、Pair和Str。因此,现在我想做的事情实际上相当于C预处理器中的#define Int /**/。如果它能检查数据类型就更好了,但是我可以不用它。这容易吗?难吗?不可能吗?
2个回答

7
您需要编写一个能够解析Perl 5的解析器。除非您的代码非常简单,否则这在难度上相当高。
此外,我发现我以与Perl 5代码非常不同的方式构造Perl 6程序。尽管在将Perl 5移植到Perl 6时可以在一行一行的基础上保持非常接近1:1,但结果不会是惯用语法,速度慢且难以维护,当您完全切换到Perl 6时会出现这种情况。仅添加空宏并不能帮助您太多,因为您所犯的每个错误都将被忽略。这实际上可能会增加您想要彻底移植程序时的负担。
这个想法很有吸引力,但您可能只会增加自己的工作量而没有真正的收益。

5

有几个 Perl 5 模块与此类似。您可以使用 MooseMooseX::Method::Signatures 进行面向对象编程。

对于声明子例程和方法,有 Method::SignaturesSub::SignaturesKavorka

还可以查看 CPAN 上的 Perl6 命名空间。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接