如何在 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/

10-10 20:18