Как я могу объявить переменную класса как плавающую точку у Американского лося?

C и C++ используют отличающийся правила искажения имени . По существу экстерн "C" говорит компилятору C++ называть функцию, как C назвал бы его.

7
задан brian d foy 17 September 2009 в 14:02
поделиться

2 ответа

Проверить документация Moose Types . Встроенного типа с плавающей запятой нет, только Num и его подтип Int . В этом есть смысл, поскольку Perl на самом деле не различает (явно) между числами с плавающей запятой и целыми числами.

Лучше всего, вероятно, использовать Num в качестве ограничения типа или написать свой собственный тип, который приводит к значение в той форме, которая соответствует вашим потребностям.

8
ответ дан 6 December 2019 в 15:24
поделиться

Вам потребуется тип Num для действительного числа:

{
    package Problem;
    use Moose;

    has 'number' => ( 
        isa      => 'Num', 
        is       => 'ro', 
        default  => sub { 0.1 },
    );
}


my $problem = Problem->new;
say $problem->number;  # => 0.1
6
ответ дан 6 December 2019 в 15:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: