是否可以在Perl 6中重载常量? Here是我正在查看的Perl 5示例。
特别是我希望获得使用的文字值的字符串,例如如果代码是
my $x = .1e-003 ;
我需要".1e-003"
而不是0.0001
。
我刚刚添加了这样的模块:
https://github.com/FROGGS/p6-overload-constant
用法:
use v6;
sub decimal { $^a.flip }
use overload::constant &decimal;
say .1e-003 # "300-e1."
我不认为规范或现有库中存在Stringy
之类的东西,但是应该可以通过[AST]查找您感兴趣的文字类型,从而使用Str
来编写它,然后将其替换为对象构造函数或您需要的任何东西。
更清洁的方法可能是将这些常量中的每个常量包装在一个宏调用中,而不是用一个整数来覆盖整个程序。