Perl   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了perl6 – 在Perl 6中声明“本机”类型大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
natives.pm6 module中,许多本机类型以这种方式声明: @H_549_2@my nativE int is repr('P6int') is Int { }

您显然可以以相同的方式使用它,

@H_549_2@my native smallish is repr('P6int') is Int is nativesize(8) { }; say smallish.^mro; # OUTPUT: «((smallish) (int) (Cool) (Any) (Mu))␤»

显然,您需要native来指定表示,因为如果不使用Nativeis,则会失败.与is repr相同,所以它们齐头并进.然而,这只是一种行为观察.

但是,除了实现中的这些示例之外,我还没有找到任何有关何时何地使用本机的文档.任何帮助将不胜感激.

解决方法@H_450_14@
本机包声明符是Rakudo Perl 6编译器实现细节,而不是Perl 6语言的一部分.需要一些机制来表达语言运行时与Perl 6标准库中声明的int32和num64等类型之间的关系.本机需要一种不同类型的元对象,因为包声明器(如类和角色)通过映射到特定类型的元对象来工作,为此目的引入本机包声明器是一种巧妙的引导方式Perl 6类型系统的一点.

从来没有打算使用标准库之外的本机(我可以放心地说,因为我发明了这种机制).鉴于本机类型的性能敏感性,Perl 6编译器开发人员应该可以最大限度地自由选择定义它们的方式,并能够随着时间的推移对其进行优化.不确定本机声明器将永远存在于Rakudo中,也不确定任何未来的Perl 6编译器开发人员会选择以相同的方式执行操作.

如果想要一个本机类型名称的别名,只需使用常量:

constant smallish = int;

由于常量是在编译时计算的,因此可以像使用任何其他类型一样使用此符号.除了Perl 6或NativeCall库中可用的类型之外,还没有通过本机可用的功能.

大佬总结

以上是大佬教程为你收集整理的perl6 – 在Perl 6中声明“本机”类型全部内容,希望文章能够帮你解决perl6 – 在Perl 6中声明“本机”类型所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。