如何在 Moose 中将类变量声明为浮点数?
我下面的(虚构的)示例对“真实”、“数字”等产生错误......“Str”有效但违背了目的......搜索/谷歌没有帮助,因为我无法找到正确的搜索词...... .
PROBLEM.pm
package PROBLEM;
use strict;
use warnings;
use Moose;
has 'PROBLEM'=> (isa=>'real',is =>'ro',required=>'0',default=>sub {0.1;});
main.pl
use strict;
use warnings;
use PROBLEM;
my $problem=PROBLEM->new();
最佳答案
查阅Moose Types文档。没有内置的float类型,只有Num
及其子类型Int
。这是有道理的,因为Perl实际上并没有(明显地)区分浮点数和整数。
最好的办法可能是使用Num
作为类型约束,或者编写自己的类型以将值强制转换为适合您需要的形式。
关于perl - 如何在 Moose 中将类变量声明为浮点数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1437370/